[ 
https://issues.apache.org/jira/browse/ASTERIXDB-2414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16561272#comment-16561272
 ] 

ASF subversion and git services commented on ASTERIXDB-2414:
------------------------------------------------------------

Commit 825bf10fbbfb7471208f0ba4bb809c771ecb5d07 in asterixdb's branch 
refs/heads/master from [~alamoudi]
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=825bf10 ]

[ASTERIXDB-2414][STO] Remove deleted component files from buffer cache

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- When activating an LSM index, we remove files of components
  that were merged into a bigger component but not cleaned up yet.
- However, we sometimes leave a file reference mapped in the buffer
  cache even when the file is removed from disk.
- This change ensures that all files are removed from the buffer
  cache as well.

Change-Id: If0f11bc222662e4b50c1b47b1dfa6b30d1463b2e
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2822
Sonar-Qube: Jenkins <[email protected]>
Integration-Tests: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
Contrib: Jenkins <[email protected]>
Reviewed-by: abdullah alamoudi <[email protected]>


> 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)

Reply via email to