[
https://issues.apache.org/jira/browse/ASTERIXDB-2414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16559280#comment-16559280
]
Abdullah Alamoudi commented on ASTERIXDB-2414:
----------------------------------------------
So, The issue has two parts:
1. When creating a merge file, we made a mistake with the name replacing the
start with the end. Due to this, when starting up, we by mistake removes the
merged component and not its input. This is fixed by simply fixing the name.
2. However, we found that when removing a subsumed component, we don't remove
its files from the buffer cache.
This is why a re-attempted merge fails.
> FileManager throws file is already mapped on create
> ---------------------------------------------------
>
> Key: ASTERIXDB-2414
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-2414
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: *DB - AsterixDB, STO - Storage
> Affects Versions: 0.9.4
> Reporter: Wail Alkowaileet
> Assignee: Abdullah Alamoudi
> Priority: Major
>
> The bug appears in recovery after a hard shutdown during a merge operation.
> {noformat}
> org.apache.hyracks.api.exceptions.HyracksDataException: HYR0081: File
> /Users/wail/asterix-branches/compactor/asterixdb/asterixdb/asterix-app/target/io/dir/asterix_nc1/../asterix-server/target/tmp/asterix_nc1/iodevice2/storage/partition_1/CompactorDataverse/Compactor/0/Compactor/2018-07-16-13-04-17-603_2018-07-16-13-04-09-026_b
> is already mapped
> at
> org.apache.hyracks.api.exceptions.HyracksDataException.create(HyracksDataException.java:60)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.common.file.FileMapManager.registerFile(FileMapManager.java:76)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.common.buffercache.BufferCache.createFile(BufferCache.java:815)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.am.common.impls.AbstractTreeIndex.create(AbstractTreeIndex.java:83)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.impls.AbstractLSMDiskComponent.activate(AbstractLSMDiskComponent.java:169)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.api.AbstractLSMWithBloomFilterDiskComponent.activate(AbstractLSMWithBloomFilterDiskComponent.java:54)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.impls.AbstractLSMIndex.createDiskComponent(AbstractLSMIndex.java:536)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTree.doMerge(LSMBTree.java:336)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.impls.AbstractLSMIndex.merge(AbstractLSMIndex.java:857)
> ~[classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.doIo(LSMHarness.java:536)
> [classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.impls.LSMHarness.merge(LSMHarness.java:575)
> [classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.impls.LSMTreeIndexAccessor.merge(LSMTreeIndexAccessor.java:127)
> [classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.impls.MergeOperation.call(MergeOperation.java:45)
> [classes/:?]
> at
> org.apache.hyracks.storage.am.lsm.common.impls.MergeOperation.call(MergeOperation.java:1)
> [classes/:?]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_45]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [?:1.8.0_45]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> [?:1.8.0_45]
> at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)