You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Ritesh Shukla (Jira)" <ji...@apache.org> on 2023/03/06 17:36:00 UTC
[jira] [Assigned] (HDDS-8085) Reduce network traffic in XceiverClientGrpc::sendCommandWithRetry
[ https://issues.apache.org/jira/browse/HDDS-8085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ritesh Shukla reassigned HDDS-8085:
-----------------------------------
Assignee: Ritesh Shukla
> Reduce network traffic in XceiverClientGrpc::sendCommandWithRetry
> ------------------------------------------------------------------
>
> Key: HDDS-8085
> URL: https://issues.apache.org/jira/browse/HDDS-8085
> Project: Apache Ozone
> Issue Type: Improvement
> Components: Ozone Client
> Reporter: Rajesh Balamohan
> Assignee: Ritesh Shukla
> Priority: Major
> Labels: performance
>
> Context: simple "select count(*) from store_sales" causes lot of network traffic in Ozone than in HDFS.
> Probing revealed good amount of time being spent in splits, which needs to be fixed separately.
> Another potential fix is that, XceiverClientGrpc gets a list of DataNodes which it can communicate with in the task.
> {color:#0747A6}If DN matches that of localhost, it should prefer localhost rather than communicating with another node.
> Request is get "InetAddress.getLocalHost().getHostName().trim()", and compare with the set of hosts available in "DatanodeDetails". If found, prefer that DN rather than remote node.
> {color}
> https://github.com/apache/ozone/blob/master/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java#L397-L440
> Stacktrace below many not match with apache ozone, but pasting it to provide codepath details.
> {noformat}
> at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1742)
> at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
> at org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithRetry(XceiverClientGrpc.java:398)
> at org.apache.hadoop.hdds.scm.XceiverClientGrpc.lambda$sendCommandWithTraceIDAndRetry$0(XceiverClientGrpc.java:330)
> at org.apache.hadoop.hdds.scm.XceiverClientGrpc$$Lambda$71/1551468933.get(Unknown Source)
> at org.apache.hadoop.hdds.tracing.TracingUtil.executeInSpan(TracingUtil.java:174)
> at org.apache.hadoop.hdds.tracing.TracingUtil.executeInNewSpan(TracingUtil.java:148)
> at org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommandWithTraceIDAndRetry(XceiverClientGrpc.java:324)
> at org.apache.hadoop.hdds.scm.XceiverClientGrpc.sendCommand(XceiverClientGrpc.java:305)
> at org.apache.hadoop.hdds.scm.storage.ContainerProtocolCalls.readChunk(ContainerProtocolCalls.java:283)
> at org.apache.hadoop.hdds.scm.storage.ChunkInputStream.readChunk(ChunkInputStream.java:432)
> at org.apache.hadoop.hdds.scm.storage.ChunkInputStream.readChunkDataIntoBuffers(ChunkInputStream.java:404)
> at org.apache.hadoop.hdds.scm.storage.ChunkInputStream.readChunkFromContainer(ChunkInputStream.java:389)
> - eliminated <0x00000007823965b0> (a org.apache.hadoop.hdds.scm.storage.ChunkInputStream)
> at org.apache.hadoop.hdds.scm.storage.ChunkInputStream.prepareRead(ChunkInputStream.java:321)
> - locked <0x00000007823965b0> (a org.apache.hadoop.hdds.scm.storage.ChunkInputStream)
> at org.apache.hadoop.hdds.scm.storage.ChunkInputStream.read(ChunkInputStream.java:207)
> - locked <0x00000007823965b0> (a org.apache.hadoop.hdds.scm.storage.ChunkInputStream)
> at org.apache.hadoop.hdds.scm.storage.ByteBufferReader.readFromBlock(ByteBufferReader.java:56)
> at org.apache.hadoop.hdds.scm.storage.BlockInputStream.readWithStrategy(BlockInputStream.java:303)
> - locked <0x0000000783646d30> (a org.apache.hadoop.hdds.scm.storage.BlockInputStream)
> at org.apache.hadoop.hdds.scm.storage.ExtendedInputStream.read(ExtendedInputStream.java:64)
> - locked <0x0000000783646d30> (a org.apache.hadoop.hdds.scm.storage.BlockInputStream)
> at org.apache.hadoop.hdds.scm.storage.ByteBufferReader.readFromBlock(ByteBufferReader.java:56)
> at org.apache.hadoop.ozone.client.io.KeyInputStream.readWithStrategy(KeyInputStream.java:273)
> - locked <0x0000000783646ca0> (a org.apache.hadoop.ozone.client.io.KeyInputStream)
> at org.apache.hadoop.ozone.client.io.KeyInputStream.read(KeyInputStream.java:250)
> - locked <0x0000000783646ca0> (a org.apache.hadoop.ozone.client.io.KeyInputStream)
> at org.apache.hadoop.fs.ozone.OzoneFSInputStream.read(OzoneFSInputStream.java:110)
> at org.apache.hadoop.fs.FSDataInputStream.read(FSDataInputStream.java:152)
> at org.apache.parquet.hadoop.util.H2SeekableInputStream$H2Reader.read(H2SeekableInputStream.java:81)
> at org.apache.parquet.hadoop.util.H2SeekableInputStream.readFully(H2SeekableInputStream.java:90)
> at org.apache.parquet.hadoop.util.H2SeekableInputStream.readFully(H2SeekableInputStream.java:75)
> at org.apache.parquet.hadoop.ParquetFileReader$ConsecutivePartList.readAll(ParquetFileReader.java:1427)
> at org.apache.parquet.hadoop.ParquetFileReader.readNextRowGroup(ParquetFileReader.java:846)
> at org.apache.hadoop.hive.ql.io.parquet.vector.VectorizedParquetRecordReader.checkEndOfRowGroup(VectorizedParquetRecordReader.java:447)
> at org.apache.hadoop.hive.ql.io.parquet.vector.VectorizedParquetRecordReader.nextBatch(VectorizedParquetRecordReader.java:425)
> at org.apache.hadoop.hive.ql.io.parquet.vector.VectorizedParquetRecordReader.next(VectorizedParquetRecordReader.java:377)
> at org.apache.hadoop.hive.ql.io.parquet.vector.VectorizedParquetRecordReader.next(VectorizedParquetRecordReader.java:99)
> at org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.doNext(HiveContextAwareRecordReader.java:365)
> at org.apache.hadoop.hive.ql.io.HiveRecordReader.doNext(HiveRecordReader.java:82)
> at org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.next(HiveContextAwareRecordReader.java:118)
> at org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.next(HiveContextAwareRecor
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org