npgall / concurrent-trees

Concurrent Radix and Suffix Trees for Java
Apache License 2.0
511 stars 82 forks source link

Unexpected failure to classify SearchResult #36

Open Haydnp74 opened 3 years ago

Haydnp74 commented 3 years ago

03-30 12:31:41.152 3068 9801 E AndroidRuntime: java.lang.IllegalStateException: Unexpected failure to classify SearchResult: SearchResult{key=537742223652646, nodeFound=Node{edge=23652646, value=[29], edges=[]}, charsMatched=15, charsMatchedInNodeFound=8, parentNode=Node{edge=422, value=null, edges=[Node{edge=23652646, value=[29], edges=[]}, Node{edge=78335, value=[26], edges=[]}]}, parentNodesParent=Node{edge=77, value=null, edges=[Node{edge=334262, value=[10], edges=[]}, Node{edge=422, value=null, edges=[Node{edge=23652646, value=[29], edges=[]}, Node{edge=78335, value=[26], edges=[]}]}]}, classification=null} 03-30 12:31:41.152 3068 9801 E AndroidRuntime: at com.googlecode.concurrenttrees.radix.ConcurrentRadixTree$SearchResult.classify(ConcurrentRadixTree.java:989) 03-30 12:31:41.152 3068 9801 E AndroidRuntime: at com.googlecode.concurrenttrees.radix.ConcurrentRadixTree$SearchResult.<init>(ConcurrentRadixTree.java:969) 03-30 12:31:41.152 3068 9801 E AndroidRuntime: at com.googlecode.concurrenttrees.radix.ConcurrentRadixTree.searchTree(ConcurrentRadixTree.java:932) 03-30 12:31:41.152 3068 9801 E AndroidRuntime: at com.googlecode.concurrenttrees.radix.ConcurrentRadixTree.getValueForExactKey(ConcurrentRadixTree.java:102)

I'm afraid I can't supply a standalone test case since we're building the tree from a contacts database to facilitate T9 searches. All updates are made on the same thread (reads occur on another thread). Under what circumstances can this exception be thrown? Judging from the classification code and search result string, it should be returning Classification.EXACT_MATCH