MENTAでセッション書き込みに失敗する。

前回作成したエントリーフォームの項目を増やすと

  my $entry = {
        hoge1=> param('hoge1'),
        hoge2=> param('hoge2'),
        ....
  };
  session_set( 'entry', $entry);

下記のエラーが発生してセッションに書き込めない。

sdbm store returned -1, errno 22, key
"675a02f64fbb676f0879e5ad625cae97" at
extlib/HTTP/Session/Store/DBM.pm line 40.

ならばと、変数名を短くしたり、個別にセッションに書き込むようにしても現象は変わらなかった。

  session_set( 'hoge1', param('hoge1'));
  session_set( 'hoge2', param('hoge2'));

原因をしらべてみるとセッション管理しているsdbm_fileに1004kbの制限があるのが問題のようだ。
SDBM_File のサイズ制限 - kazuhoのメモ置き場
CPANを覗いてみるとそのままんまのことが書いてあった。
SDBM_File - Tied access to sdbm files - metacpan.org
session.plに手を入れて、
HTTP::Session::Store::DBM→HTTP::Session::Store::Fileに
すると、一応動作する様になったみたいだが、引き続き調査が必要なようです。