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

Wei-Chiu Chuang commented on HDDS-12159:
----------------------------------------

Stacetrace for posterity:

 
{noformat}
"KeyDeletingService#0" #1032 daemon prio=5 os_prio=0 cpu=1446151362.28ms 
elapsed=1475807.36s tid=0x00007f02eb029000 nid=0x1713bf runnable  
[0x00007f02f69b80
00]
   java.lang.Thread.State: RUNNABLE
        at org.rocksdb.RocksIterator.seekDirect0(Native Method)
        at org.rocksdb.AbstractRocksIterator.seek(AbstractRocksIterator.java:73)
        at 
org.apache.hadoop.hdds.utils.db.RDBStoreCodecBufferIterator.seek0(RDBStoreCodecBufferIterator.java:125)
        at 
org.apache.hadoop.hdds.utils.db.RDBStoreCodecBufferIterator.seek0(RDBStoreCodecBufferIterator.java:30)
        at 
org.apache.hadoop.hdds.utils.db.RDBStoreAbstractIterator.seek(RDBStoreAbstractIterator.java:134)
        at 
org.apache.hadoop.hdds.utils.db.RDBStoreAbstractIterator.seek(RDBStoreAbstractIterator.java:33)
        at 
org.apache.hadoop.hdds.utils.db.TypedTable$RawIterator.seek(TypedTable.java:650)
        at 
org.apache.hadoop.hdds.utils.db.TypedTable$RawIterator.seek(TypedTable.java:619)
        at 
org.apache.hadoop.ozone.om.KeyManagerImpl.gatherSubDirsWithIterator(KeyManagerImpl.java:1884)
        at 
org.apache.hadoop.ozone.om.KeyManagerImpl.getPendingDeletionSubDirs(KeyManagerImpl.java:1871)
        at 
org.apache.hadoop.ozone.om.service.AbstractKeyDeletingService.prepareDeleteDirRequest(AbstractKeyDeletingService.java:355)
        at 
org.apache.hadoop.ozone.om.service.DirectoryDeletingService$DirDeletingTask.call(DirectoryDeletingService.java:180)
        at 
org.apache.hadoop.hdds.utils.BackgroundService$PeriodicalTask.lambda$run$0(BackgroundService.java:121)
        at 
org.apache.hadoop.hdds.utils.BackgroundService$PeriodicalTask$$Lambda$354/0x00007f02faa48cb0.run(Unknown
 Source)
        at 
java.util.concurrent.CompletableFuture$AsyncRun.run([email protected]/CompletableFuture.java:1736)
        at 
java.util.concurrent.Executors$RunnableAdapter.call([email protected]/Executors.java:515)
        at 
java.util.concurrent.FutureTask.run([email protected]/FutureTask.java:264)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run([email protected]/ScheduledThreadPoolExecutor.java:304)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
        at java.lang.Thread.run([email protected]/Thread.java:829) {noformat}
 
{noformat}
"OM StateMachine ApplyTransaction Thread - 0" #1411 daemon prio=5 os_prio=0 
cpu=111238927.65ms elapsed=1475624.54s tid=0x00007f1acc403000 nid=0x172dbf runna
ble  [0x00007f02d0e54000]
   java.lang.Thread.State: RUNNABLE
        at org.rocksdb.RocksIterator.seekToFirst0(Native Method)
        at 
org.rocksdb.AbstractRocksIterator.seekToFirst(AbstractRocksIterator.java:48)
        at 
org.apache.hadoop.hdds.utils.db.RDBStoreAbstractIterator.seekToFirst(RDBStoreAbstractIterator.java:115)
        at 
org.apache.hadoop.hdds.utils.db.RDBStoreCodecBufferIterator.<init>(RDBStoreCodecBufferIterator.java:103)
        at org.apache.hadoop.hdds.utils.db.RDBTable.iterator(RDBTable.java:232)
        at 
org.apache.hadoop.hdds.utils.db.TypedTable.iterator(TypedTable.java:418)
        at 
org.apache.hadoop.hdds.utils.db.TypedTable.iterator(TypedTable.java:409)
        at 
org.apache.hadoop.hdds.utils.db.TypedTable.iterator(TypedTable.java:55)
        at 
org.apache.hadoop.ozone.om.request.file.OMFileRequest.checkSubFileExists(OMFileRequest.java:923)
        at 
org.apache.hadoop.ozone.om.request.file.OMFileRequest.hasChildren(OMFileRequest.java:846)
        at 
org.apache.hadoop.ozone.om.OzonePrefixPathImpl.<init>(OzonePrefixPathImpl.java:77)
        at 
org.apache.hadoop.ozone.om.request.OMClientRequest.checkACLsWithFSO(OMClientRequest.java:248)
        at 
org.apache.hadoop.ozone.om.request.key.OMKeyRenameRequestWithFSO.validateAndUpdateCache(OMKeyRenameRequestWithFSO.java:119)
        at 
org.apache.hadoop.ozone.protocolPB.OzoneManagerRequestHandler.handleWriteRequest(OzoneManagerRequestHandler.java:378)
        at 
org.apache.hadoop.ozone.om.ratis.OzoneManagerStateMachine.runCommand(OzoneManagerStateMachine.java:560)
        at 
org.apache.hadoop.ozone.om.ratis.OzoneManagerStateMachine.lambda$1(OzoneManagerStateMachine.java:353)
        at 
org.apache.hadoop.ozone.om.ratis.OzoneManagerStateMachine$$Lambda$1031/0x00007f02d191d500.get(Unknown
 Source)
        at 
java.util.concurrent.CompletableFuture$AsyncSupply.run([email protected]/CompletableFuture.java:1700)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
        at java.lang.Thread.run([email protected]/Thread.java:829) {noformat}

> Remove unnecessary iterator seek in fileTable and DirectoryTable uses
> ---------------------------------------------------------------------
>
>                 Key: HDDS-12159
>                 URL: https://issues.apache.org/jira/browse/HDDS-12159
>             Project: Apache Ozone
>          Issue Type: Bug
>            Reporter: Tejaskriya Madhan
>            Assignee: Tejaskriya Madhan
>            Priority: Major
>              Labels: pull-request-available
>
> In 
> `org.apache.hadoop.ozone.om.request.file.OMFileRequest#checkSubFileExists`, 
> an iterator is created for the fileTable. During this, a seek to the first 
> record takes place internally. Following which a seek to a prefix is done in 
> the method. RocksDB provides iterator(prefix) method to directly create and 
> seek together. This would be more efficient



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to