lealone / Lealone-Docs

与 Lealone 相关的所有文档
Other
82 stars 24 forks source link

storage_engines的parameters参数,启动时报ClassCastException #10

Closed wangzihaogithub closed 2 years ago

wangzihaogithub commented 2 years ago

这是我在lealone.yaml里写的配置。

storage_engines:

Caused by: java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Integer (java.lang.String and java.lang.Integer are in module java.base of loader 'bootstrap') at org.lealone.storage.aose.btree.BTreeStorage.getIntValue(BTreeStorage.java:102) at org.lealone.storage.aose.btree.BTreeStorage.(BTreeStorage.java:67) at org.lealone.storage.aose.btree.BTreeMap.(BTreeMap.java:90) at org.lealone.storage.aose.AOStorage.openBTreeMap(AOStorage.java:82)

wangzihaogithub commented 2 years ago

我在代码里,加上了Integer.valueOf,使下面的参数生效了, 但是发现sql运行的结果不对了,然后我又改回去,恢复不了了,这个参数不能动态调整吗?

          加上后Integer.valueOf, 使参数生效。
          private int getIntValue(String key, int defaultValue) {
              Object value = map.getConfig(key);
              return value != null ? (Integer) Integer.valueOf(String.valueOf(value)) : defaultValue;
          }          

        然后先这样加了参数
        parameters: {
            cacheSize: 1677721600,
            pageSplitSize: 16777216,
            compress: 2
        }

        发现查询结果不对了,然后这样改回去,查询结果还是不对了,之前还好好的
        parameters: {
          #  cacheSize: 1677721600,
          #  pageSplitSize: 16777216,
           # compress: 2
        }
image image
wangzihaogithub commented 2 years ago

这个是第一次用没加参数时的。

image

codefollower commented 2 years ago

问题修复了,你更新一下代码

storage_engines:
  - name: AOSE
    enabled: true
    parameters: {
        pageSplitSize: 16k,
        cacheSize: 16m, # 每个 btree 的缓存大小
        compress: no, # no、lzf、deflate 或 0、1、2
    }
wangzihaogithub commented 2 years ago

可以了 谢谢