几天前,我的Artifactory(版本2.3.2)开始报告数据存储垃圾回收和搜索错误,两者都导致JackRabbit缓存抛出的根异常:
o.a.j.JcrServiceImpl:1037) - Datastore garbage collector execution failed.
java.lang.ArrayIndexOutOfBoundsException: -2
at org.apache.jackrabbit.core.cache.ConcurrentCache.shrinkIfNeeded(ConcurrentCache.java:241) [jackrabbit-core-jfrog-2.2.1.jar:2.2.1]
今天上午,Artifactory根本没有响应,所以我重新启动它,但它失败了,并且因为最后的例外而失败了:
Caused by: java.lang.NullPointerException: null
at java.util.TimeZone.parseCustomTimeZone(TimeZone.java:767) [na:1.6.0_25-ea]
at java.util.TimeZone.getTimeZone(TimeZone.java:471) [na:1.6.0_25-ea]
at java.util.TimeZone.getTimeZone(TimeZone.java:465) [na:1.6.0_25-ea]
at org.apache.jackrabbit.core.persistence.util.BundleReader.<clinit>(BundleReader.java:56) [jackrabbit-core-jfrog-2.2.1.jar:2.2.1]
... 82 common frames omitted
Jackrabbit似乎是这里的嫌疑人,但我很难解决这个问题,希望你们这些人。 =)
顺便说一句,我使用Derby作为元数据存储,并且我使用文件系统存储文物。
谢谢。
答案 0 :(得分:1)
版本2.x不再受支持(特别是因为Jackrabbit问题)。 版本3更快(高达数十倍)并且更加稳定。 请升级。