[
https://issues.apache.org/jira/browse/ASTERIXDB-1956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Taewoo Kim reopened ASTERIXDB-1956:
-----------------------------------
Assignee: Taewoo Kim
OK. I had a meeting with [~dtabass] and [[email protected]]. We agreed that
this issue (reading the entire inverted lists into the memory) needs to be
fixed. One possible design is applying a modified Merge-Skip algorithm (read
one page per list at a time), rather than doing the original Divide-Skip
algorithm.
> An edit-distance-check query generates "Unable to find free page in buffer
> cache after 1000 cycles (buffer cache undersized?)" Exception
> ----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: ASTERIXDB-1956
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-1956
> Project: Apache AsterixDB
> Issue Type: Bug
> Reporter: Taewoo Kim
> Assignee: Taewoo Kim
>
> Setting:
> 1 node (CC+NC), 20GB dataset, NC: max memory 4GB, Buffer-cache size: default
> (682.75 MB), a keyword index on the field.
> Query:
> {code}
> use dataverse exp;
> count(
> for $o in dataset
> "AmazonReviewNoDup"
> where edit-distance-check($o.reviewerName,
> "Jacob Libin"
> ,
> int64("2")
> )[0]
> return {"oid":$o.id}
> );
> {code}
> Result from API call:
> {code}
> {
> "requestID": "0a36c521-879f-429c-af29-7a2670150585",
> "signature": "*",
> "errors": [{
> "code": "1",
> "msg": "Unable to find free page in buffer cache after 1000 cycles
> (buffer cache undersized?)"
> }],
> "status": "fatal",
> "metrics": {
> "elapsedTime": "52.433274939s",
> "executionTime": "52.431912415s",
> "resultCount": 0,
> "resultSize": 0
> }
> }
> No success - status code: fatal
> {
> "requestID": "0a36c521-879f-429c-af29-7a2670150585",
> "signature": "*",
> "errors": [{
> "code": "1",
> "msg": "Unable to find free page in buffer cache after 1000 cycles
> (buffer cache undersized?)"
> }],
> "status": "fatal",
> "metrics": {
> "elapsedTime": "52.433274939s",
> "executionTime": "52.431912415s",
> "resultCount": 0,
> "resultSize": 0
> }
> }
> {code}
> Exception in the nc.log
> {code}
> Caused by: org.apache.hyracks.api.exceptions.HyracksDataException: Unable to
> find free page in buffer cache after 1000 cycles (buffer cache undersized?)
> at
> org.apache.hyracks.storage.common.buffercache.BufferCache.getPageLoop(BufferCache.java:1261)
> at
> org.apache.hyracks.storage.common.buffercache.BufferCache.findPage(BufferCache.java:228)
> at
> org.apache.hyracks.storage.common.buffercache.BufferCache.pin(BufferCache.java:195)
> at
> org.apache.hyracks.storage.am.lsm.invertedindex.ondisk.FixedSizeElementInvertedListCursor.pinPages(FixedSizeElementInvertedListCursor.java:98)
> at
> org.apache.hyracks.storage.am.lsm.invertedindex.search.PartitionedTOccurrenceSearcher.search(PartitionedTOccurrenceSearcher.java:150)
> at
> org.apache.hyracks.storage.am.lsm.invertedindex.ondisk.OnDiskInvertedIndex$OnDiskInvertedIndexAccessor.search(OnDiskInvertedIndex.java:505)
> at
> org.apache.hyracks.storage.am.lsm.invertedindex.impls.LSMInvertedIndexSearchCursor.hasNext(LSMInvertedIndexSearchCursor.java:153)
> at
> org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.writeSearchResults(IndexSearchOperatorNodePushable.java:183)
> at
> org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.nextFrame(IndexSearchOperatorNodePushable.java:236)
> ... 12 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)