Infinispan 软索引文件存储问题
Infinispan Soft Index File Store issue
在 jgroups 自动选择集群中索引大约 180,000,000 条记录,一切正常(我索引和查询数据,结果似乎有效)但在每次启动和关闭时我都会遇到此类错误。这是我必须担心的实验模式吗?
这是我在启动时得到的:
2018-01-16 08:46:43,315 ERROR [org.infinispan.persistence.sifs.Index]
(BCS-IndexUpdater-2) Error in indexer thread:
java.lang.IndexOutOfBoundsException
这是我关机时得到的:
8-01-16 09:22:12,538 INFO [org.hibernate.search.backend.jgroups.impl.DispatchMessageSender] (ServerService Thread Pool -- 77) HSEARCH200017: Disconnecting and closing JGroups Channel to cluster 'Hibernate Search Cluster'
2018-01-16 09:22:12,579 ERROR [org.infinispan.persistence.sifs.Index]
(BCS-IndexUpdater-0) Error in indexer thread:
java.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkIndex(Buffer.java:546)
at java.nio.HeapByteBuffer.putLong(HeapByteBuffer.java:432)
at org.infinispan.persistence.sifs.Index$Segment.shutdown(Index.java:368)
at org.infinispan.persistence.sifs.Index$Segment.run(Index.java:265)
2018-01-16 09:22:12,583 ERROR [org.infinispan.persistence.sifs.Index]
(BCS-IndexUpdater-2) Error in indexer thread:
java.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkIndex(Buffer.java:546)
at java.nio.HeapByteBuffer.putLong(HeapByteBuffer.java:432)
at org.infinispan.persistence.sifs.Index$Segment.shutdown(Index.java:368)
at org.infinispan.persistence.sifs.Index$Segment.run(Index.java:265)
我的索引在两个字段中,其中 none 是 Long 类型,以防错误是关于索引数据的类型:
@Id
@Type(type="objectid")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id;
@Temporal(TemporalType.TIMESTAMP)
@Field(index=Index.YES, analyze=Analyze.NO, store=Store.NO, norms=Norms.NO)
@DateBridge(resolution = Resolution.SECOND)
private Date dateCreated;
@Field(index=Index.YES, analyze=Analyze.NO, store=Store.NO, norms=Norms.NO)
private String eventType;
@Embedded
private Location location;
@Embedded
private EventStatus status;
有人遇到过同样的问题或者有什么想法吗?谢谢。
这是一个错误,请提交 JIRA。
不过,好消息是它不会对您的数据造成危害;该索引在设计上是可有可无的。出现 bug 的关机程序只是为了加速重启,写入一些内存数据和魔法字,告诉索引可以在重启后使用。如果这个魔法词不存在,缓存存储删除文件并重新开始,读取所有记录并重建索引。
在 jgroups 自动选择集群中索引大约 180,000,000 条记录,一切正常(我索引和查询数据,结果似乎有效)但在每次启动和关闭时我都会遇到此类错误。这是我必须担心的实验模式吗?
这是我在启动时得到的:
2018-01-16 08:46:43,315 ERROR [org.infinispan.persistence.sifs.Index]
(BCS-IndexUpdater-2) Error in indexer thread:
java.lang.IndexOutOfBoundsException
这是我关机时得到的:
8-01-16 09:22:12,538 INFO [org.hibernate.search.backend.jgroups.impl.DispatchMessageSender] (ServerService Thread Pool -- 77) HSEARCH200017: Disconnecting and closing JGroups Channel to cluster 'Hibernate Search Cluster'
2018-01-16 09:22:12,579 ERROR [org.infinispan.persistence.sifs.Index] (BCS-IndexUpdater-0) Error in indexer thread: java.lang.IndexOutOfBoundsException at java.nio.Buffer.checkIndex(Buffer.java:546) at java.nio.HeapByteBuffer.putLong(HeapByteBuffer.java:432) at org.infinispan.persistence.sifs.Index$Segment.shutdown(Index.java:368) at org.infinispan.persistence.sifs.Index$Segment.run(Index.java:265)
2018-01-16 09:22:12,583 ERROR [org.infinispan.persistence.sifs.Index] (BCS-IndexUpdater-2) Error in indexer thread: java.lang.IndexOutOfBoundsException at java.nio.Buffer.checkIndex(Buffer.java:546) at java.nio.HeapByteBuffer.putLong(HeapByteBuffer.java:432) at org.infinispan.persistence.sifs.Index$Segment.shutdown(Index.java:368) at org.infinispan.persistence.sifs.Index$Segment.run(Index.java:265)
我的索引在两个字段中,其中 none 是 Long 类型,以防错误是关于索引数据的类型:
@Id
@Type(type="objectid")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id;
@Temporal(TemporalType.TIMESTAMP)
@Field(index=Index.YES, analyze=Analyze.NO, store=Store.NO, norms=Norms.NO)
@DateBridge(resolution = Resolution.SECOND)
private Date dateCreated;
@Field(index=Index.YES, analyze=Analyze.NO, store=Store.NO, norms=Norms.NO)
private String eventType;
@Embedded
private Location location;
@Embedded
private EventStatus status;
有人遇到过同样的问题或者有什么想法吗?谢谢。
这是一个错误,请提交 JIRA。
不过,好消息是它不会对您的数据造成危害;该索引在设计上是可有可无的。出现 bug 的关机程序只是为了加速重启,写入一些内存数据和魔法字,告诉索引可以在重启后使用。如果这个魔法词不存在,缓存存储删除文件并重新开始,读取所有记录并重建索引。