datalevin icon indicating copy to clipboard operation
datalevin copied to clipboard

orm.lmdbjava.Dbi$MapResizedException on query after reimport 0.8.16 → 0.9.5

Open jdf-id-au opened this issue 1 year ago • 1 comments

Thanks again for this glorious project.

I tried to upgrade from 0.8.16 → 0.9.5 via a nippy export (using my approach from https://github.com/juji-io/datalevin/issues/216 ) and am getting an exception when trying to query new version. Happy to investigate if asked, but I'll just roll back for the time being to finish another task.

1. Unhandled org.lmdbjava.Dbi$MapResizedException
   Database contents grew beyond environment mapsize (-30785)

     ResultCodeMapper.java:   88  org.lmdbjava.ResultCodeMapper/checkRc
                  Txn.java:  176  org.lmdbjava.Txn/renew
                  java.clj:  130  datalevin.binding.java.Rtx/renew
                  java.clj:  684  datalevin.binding.java.LMDB/get_rtx
                  java.clj:  966  datalevin.binding.java.LMDB/list_count
               storage.clj:  533  datalevin.storage.Store/av_size
                    db.clj:  110  datalevin.db.DB/_count
                 query.clj: 1153  datalevin.query/datom-n/fn
             protocols.clj:   49  clojure.core.protocols/iter-reduce
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6887  clojure.core/reduce
                  core.clj: 6869  clojure.core/reduce
                 query.clj: 1149  datalevin.query/datom-n
                 query.clj: 1147  datalevin.query/datom-n
                 query.clj: 1190  datalevin.query/count-clause-datoms/fn/fn/fn/fn
                  AFn.java:  154  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  669  clojure.core/apply
                  core.clj: 6221  clojure.core/update-in/up
                  core.clj: 6220  clojure.core/update-in/up
                  core.clj: 6222  clojure.core/update-in
                  core.clj: 6208  clojure.core/update-in
               RestFn.java:  445  clojure.lang.RestFn/invoke
                 query.clj: 1189  datalevin.query/count-clause-datoms/fn/fn/fn
                  core.clj: 6232  clojure.core/update
                  core.clj: 6224  clojure.core/update
                 query.clj: 1184  datalevin.query/count-clause-datoms/fn/fn
             protocols.clj:   49  clojure.core.protocols/iter-reduce
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6887  clojure.core/reduce
                  core.clj: 6869  clojure.core/reduce
                 query.clj: 1179  datalevin.query/count-clause-datoms/fn
             protocols.clj:   49  clojure.core.protocols/iter-reduce
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   75  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6887  clojure.core/reduce
                  core.clj: 6869  clojure.core/reduce
                 query.clj: 1174  datalevin.query/count-clause-datoms
                 query.clj: 1172  datalevin.query/count-clause-datoms
                 query.clj: 1232  datalevin.query/build-graph
                 query.clj: 1213  datalevin.query/build-graph
                 query.clj: 1665  datalevin.query/-q
                 query.clj: 1662  datalevin.query/-q
                 query.clj: 1897  datalevin.query/q
                 query.clj: 1880  datalevin.query/q
               RestFn.java:  139  clojure.lang.RestFn/applyTo
                  core.clj:  669  clojure.core/apply
                  core.clj:  662  clojure.core/apply
                  core.clj:  420  datalevin.core/q
                  core.clj:  405  datalevin.core/q

jdf-id-au avatar May 04 '24 01:05 jdf-id-au

Try open the DB with a bigger size, e.g. add :kv-opts {:mapsize A-BIGGER-SIZE-THAN-CURRENT} option when you create connection, where A-BIGGER-SIZE-THAN-CURRENT is a number bigger than your current DB size (in MiB) .

Also try upgrade to 0.8.29 first, before moving to 0.9.5. Your method of upgrading may missed something.

huahaiy avatar May 04 '24 16:05 huahaiy