You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "jbewing (via GitHub)" <gi...@apache.org> on 2025/01/28 16:58:07 UTC

[PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

jbewing opened a new pull request, #6643:
URL: https://github.com/apache/hbase/pull/6643

   ### What
   This PR updates the reverse scanning flow to call HFileScanner#getKey instead of HFileScanner#getCell for Cells that later have [PrivateCellUtil.createFirstOnRow()](https://github.com/apache/hbase/blob/b89c8259c5726395c9ae3a14919bd192252ca517/hbase-common/src/main/java/org/apache/hadoop/hbase/PrivateCellUtil.java#L2768-L2775) called on them. The aim here is that we'll reduce excessive memory usage/allocations as:
   - If the instance field `previousRow` is in use, it will be a KeyOnlyKeyValue rather than a full ExtendedCell
   - When calling HFileScanner#getKey, we only need to deep-copy the row key bytes rather than the entire cell as required by HFileScanner#getCell
   
   This should be safe as we always call HFileScanner#getKey in a context where the HFileScanner is seeked so it won't throw.  
   
   ### Implementation Notes
   While I was making updates here, I noticed some invalid javadoc in the reverse scanning code path which I fixed up as a part of this issue. I can separate those changes out into a different issue if that's preferred. 
   
   [HBASE-29103](https://issues.apache.org/jira/browse/HBASE-29103)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "jbewing (via GitHub)" <gi...@apache.org>.
jbewing commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2714409276

   Hey @ndimiduk & @rmdmattingly! I appreciate your feedback and reviews here! I was wondering when/what else is needed to get this PR merged!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "ndimiduk (via GitHub)" <gi...@apache.org>.
ndimiduk commented on code in PR #6643:
URL: https://github.com/apache/hbase/pull/6643#discussion_r1967606355


##########
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java:
##########
@@ -555,20 +559,20 @@ private boolean seekToPreviousRowWithHint() throws IOException {
   }
 
   /**
-   * This variant of the {@link StoreFileScanner#seekToPreviousRow(Cell)} method requires two seeks
-   * and one reseek. The extra expense/seek is with the intent of speeding up subsequent calls by
-   * using the {@link StoreFileScanner#seekToPreviousRowWithHint} which this method seeds the state
-   * for by setting {@link StoreFileScanner#previousRow}
+   * This variant of the {@link StoreFileScanner#seekToPreviousRow(ExtendedCell)} method requires
+   * two seeks and one reseek. The extra expense/seek is with the intent of speeding up subsequent
+   * calls by using the {@link StoreFileScanner#seekToPreviousRowWithHint} which this method seeds
+   * the state for by setting {@link StoreFileScanner#previousRow}
    */
-  private boolean seekToPreviousRowWithoutHint(Cell originalKey) throws IOException {
+  private boolean seekToPreviousRowWithoutHint(ExtendedCell originalKey) throws IOException {
     // Rewind to the cell before the beginning of this row
     ExtendedCell keyAtBeginningOfRow = PrivateCellUtil.createFirstOnRow(originalKey);
     if (!seekBefore(keyAtBeginningOfRow)) {
       return false;
     }
 
     // Rewind before this row and save what we find as a seek hint
-    ExtendedCell firstKeyOfPreviousRow = PrivateCellUtil.createFirstOnRow(hfs.getCell());
+    ExtendedCell firstKeyOfPreviousRow = PrivateCellUtil.createFirstOnRow(hfs.getKey());

Review Comment:
   I'm trying to understand the implication of this change. Initially it's confusing because `hfs.getCell()` and `hfs.getKey()` both return an `ExtendedCell`. Reading the codepath of `hfs.getKey()` is a little obfuscated because of different implementations (i.e., I cannot tell from the flamegraph if your sample was using a `RowIndexSeekerV1` or a `BufferedDataBlockEncoder` for the `DataBlockEncoder` implementation). Either way, it seems that we have allocations on both paths. It's just that the `ketKey()` variant copies fewer cell components.
   
   FYI, by quick read, it seems that both paths make copies of the `byte[]`'s onto heap, so neither approach is at risk of losing a netty buffer out from under it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "rmdmattingly (via GitHub)" <gi...@apache.org>.
rmdmattingly merged PR #6643:
URL: https://github.com/apache/hbase/pull/6643


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "jbewing (via GitHub)" <gi...@apache.org>.
jbewing commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2621934021

   I've confirmed that the above test failure is because `org.apache.hadoop.hbase.master.assignment.TestRollbackSCP.testFailAndRollback` test seems to be flakey. It's been flakey on other CI builds recently too. 
   
   That's to say: all test failures are unrelated.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "Apache-HBase (via GitHub)" <gi...@apache.org>.
Apache-HBase commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2658092177

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 29s |  |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  2s |  |  Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck  |
   |||| _ Prechecks _ |
   |||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 13s |  |  master passed  |
   | +1 :green_heart: |  compile  |   0m 55s |  |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m 27s |  |  master passed  |
   | +1 :green_heart: |  shadedjars  |   5m 53s |  |  branch has no errors when building our shaded downstream artifacts.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m  2s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 55s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 55s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 26s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 52s |  |  patch has no errors when building our shaded downstream artifacts.  |
   |||| _ Other Tests _ |
   | +1 :green_heart: |  unit  | 213m 50s |  |  hbase-server in the patch passed.  |
   |  |   | 239m 10s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/6643 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 720cf6f64bb9 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 9274de1ab36c346b8a465974d0163c9f6f01d5c5 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/2/testReport/ |
   | Max. process+thread count | 5404 (vs. ulimit of 30000) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/2/console |
   | versions | git=2.34.1 maven=3.9.8 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "rmdmattingly (via GitHub)" <gi...@apache.org>.
rmdmattingly commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2637984681

   @Apache9 tagged you here because I don't know much about this code.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "Apache-HBase (via GitHub)" <gi...@apache.org>.
Apache-HBase commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2620057711

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 27s |  |  Docker mode activated.  |
   | -0 :warning: |  yetus  |   0m  3s |  |  Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck  |
   |||| _ Prechecks _ |
   |||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 15s |  |  master passed  |
   | +1 :green_heart: |  compile  |   0m 55s |  |  master passed  |
   | +1 :green_heart: |  javadoc  |   0m 28s |  |  master passed  |
   | +1 :green_heart: |  shadedjars  |   5m 50s |  |  branch has no errors when building our shaded downstream artifacts.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m  3s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 55s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   0m 55s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 28s |  |  the patch passed  |
   | +1 :green_heart: |  shadedjars  |   5m 51s |  |  patch has no errors when building our shaded downstream artifacts.  |
   |||| _ Other Tests _ |
   | -1 :x: |  unit  | 220m  3s | [/patch-unit-hbase-server.txt](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/1/artifact/yetus-jdk17-hadoop3-check/output/patch-unit-hbase-server.txt) |  hbase-server in the patch failed.  |
   |  |   | 246m 30s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/6643 |
   | Optional Tests | javac javadoc unit compile shadedjars |
   | uname | Linux 8093b5e31457 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 7cd58f64b765f0239303d339b54f6ade362d90f0 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   |  Test Results | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/1/testReport/ |
   | Max. process+thread count | 5488 (vs. ulimit of 30000) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/1/console |
   | versions | git=2.34.1 maven=3.9.8 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "jbewing (via GitHub)" <gi...@apache.org>.
jbewing commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2620251701

   ^ I believe the above test failure is due to a flakey test. When running locally, the test is flakey for me. I can investigate more


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "ndimiduk (via GitHub)" <gi...@apache.org>.
ndimiduk commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2678365568

   FYI @apurtell, @anoopsjohn I believe that you both know (knew?) this code-path well. Do you have any comments to add for mighty @jbewing ?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "jbewing (via GitHub)" <gi...@apache.org>.
jbewing commented on code in PR #6643:
URL: https://github.com/apache/hbase/pull/6643#discussion_r1967848577


##########
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java:
##########
@@ -555,20 +559,20 @@ private boolean seekToPreviousRowWithHint() throws IOException {
   }
 
   /**
-   * This variant of the {@link StoreFileScanner#seekToPreviousRow(Cell)} method requires two seeks
-   * and one reseek. The extra expense/seek is with the intent of speeding up subsequent calls by
-   * using the {@link StoreFileScanner#seekToPreviousRowWithHint} which this method seeds the state
-   * for by setting {@link StoreFileScanner#previousRow}
+   * This variant of the {@link StoreFileScanner#seekToPreviousRow(ExtendedCell)} method requires
+   * two seeks and one reseek. The extra expense/seek is with the intent of speeding up subsequent
+   * calls by using the {@link StoreFileScanner#seekToPreviousRowWithHint} which this method seeds
+   * the state for by setting {@link StoreFileScanner#previousRow}
    */
-  private boolean seekToPreviousRowWithoutHint(Cell originalKey) throws IOException {
+  private boolean seekToPreviousRowWithoutHint(ExtendedCell originalKey) throws IOException {
     // Rewind to the cell before the beginning of this row
     ExtendedCell keyAtBeginningOfRow = PrivateCellUtil.createFirstOnRow(originalKey);
     if (!seekBefore(keyAtBeginningOfRow)) {
       return false;
     }
 
     // Rewind before this row and save what we find as a seek hint
-    ExtendedCell firstKeyOfPreviousRow = PrivateCellUtil.createFirstOnRow(hfs.getCell());
+    ExtendedCell firstKeyOfPreviousRow = PrivateCellUtil.createFirstOnRow(hfs.getKey());

Review Comment:
   So the difference as I understand it is:
   1. `getCell()` performs a deep-copy of all parts of the Cell (row, cf, qf, value, tags, mvcc, etc...)
   2. `getKey()` performs a deep-copy of just the row part of a Cell 
   
   All paths must perform a deep-copy as referencing any backing buffers directly would potentially prevent their eviction—so instead of leaking a single Cell of memory, you're potentially leaking an entire buffer per store—by a long running operation.
   
   So the difference here is really that we're copying less (just the row part of the key vs. the entire thing) and also holding a strong references (via the previousRow field) to a smaller field (again just the row part of the Cell vs. the entire thing). 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "Apache-HBase (via GitHub)" <gi...@apache.org>.
Apache-HBase commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2619684075

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 34s |  |  Docker mode activated.  |
   |||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any anti-patterns.  |
   |||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m  6s |  |  master passed  |
   | +1 :green_heart: |  compile  |   3m 47s |  |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m 45s |  |  master passed  |
   | +1 :green_heart: |  spotbugs  |   1m 56s |  |  master passed  |
   | +1 :green_heart: |  spotless  |   1m  3s |  |  branch has no errors when running spotless:check.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   4m  3s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   3m 47s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   3m 47s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks issues.  |
   | +1 :green_heart: |  checkstyle  |   0m 43s |  |  the patch passed  |
   | +1 :green_heart: |  spotbugs  |   2m 13s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  15m 21s |  |  Patch does not cause any errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  spotless  |   1m 22s |  |  patch has no errors when running spotless:check.  |
   |||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 21s |  |  The patch does not generate ASF License warnings.  |
   |  |   |  48m 35s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/1/artifact/yetus-general-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/6643 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless |
   | uname | Linux e0d893a8e8d3 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 7cd58f64b765f0239303d339b54f6ade362d90f0 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 83 (vs. ulimit of 30000) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/1/console |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "ndimiduk (via GitHub)" <gi...@apache.org>.
ndimiduk commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2678336124

   As I understand it, [TestHRegion](https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/2/testReport/org.apache.hadoop.hbase.regionserver/TestHRegion/) is where all the correctness testing of reverse scans happen, and you've got a passing grade there.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "jbewing (via GitHub)" <gi...@apache.org>.
jbewing commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2657779297

   I pushed up a small commit here to adjust a method parameter to be `ExtendedCell` (I noticed this after looking back at this PR). I'd love a review whenever! This is a fairly small change and results in the expected 2-3% performance improvement over this path (which I measured via some benchmarks which can be found in the JIRA).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] HBASE-29103 Avoid excessive allocations during reverse scanning when seeking to next row [hbase]

Posted by "Apache-HBase (via GitHub)" <gi...@apache.org>.
Apache-HBase commented on PR #6643:
URL: https://github.com/apache/hbase/pull/6643#issuecomment-2657861319

   :confetti_ball: **+1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |   0m 28s |  |  Docker mode activated.  |
   |||| _ Prechecks _ |
   | +1 :green_heart: |  dupname  |   0m  0s |  |  No case conflicting files found.  |
   | +0 :ok: |  codespell  |   0m  0s |  |  codespell was not available.  |
   | +0 :ok: |  detsecrets  |   0m  0s |  |  detect-secrets was not available.  |
   | +1 :green_heart: |  @author  |   0m  0s |  |  The patch does not contain any @author tags.  |
   | +1 :green_heart: |  hbaseanti  |   0m  0s |  |  Patch does not have any anti-patterns.  |
   |||| _ master Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 15s |  |  master passed  |
   | +1 :green_heart: |  compile  |   3m  3s |  |  master passed  |
   | +1 :green_heart: |  checkstyle  |   0m 36s |  |  master passed  |
   | +1 :green_heart: |  spotbugs  |   1m 35s |  |  master passed  |
   | +1 :green_heart: |  spotless  |   0m 59s |  |  branch has no errors when running spotless:check.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   3m 54s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   3m 37s |  |  the patch passed  |
   | +1 :green_heart: |  javac  |   3m 37s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks issues.  |
   | +1 :green_heart: |  checkstyle  |   0m 42s |  |  the patch passed  |
   | +1 :green_heart: |  spotbugs  |   2m  5s |  |  the patch passed  |
   | +1 :green_heart: |  hadoopcheck  |  12m 18s |  |  Patch does not cause any errors with Hadoop 3.3.6 3.4.0.  |
   | +1 :green_heart: |  spotless  |   0m 43s |  |  patch has no errors when running spotless:check.  |
   |||| _ Other Tests _ |
   | +1 :green_heart: |  asflicense  |   0m 10s |  |  The patch does not generate ASF License warnings.  |
   |  |   |  40m 45s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/2/artifact/yetus-general-check/output/Dockerfile |
   | GITHUB PR | https://github.com/apache/hbase/pull/6643 |
   | Optional Tests | dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless |
   | uname | Linux 90797795b2e0 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/hbase-personality.sh |
   | git revision | master / 9274de1ab36c346b8a465974d0163c9f6f01d5c5 |
   | Default Java | Eclipse Adoptium-17.0.11+9 |
   | Max. process+thread count | 84 (vs. ulimit of 30000) |
   | modules | C: hbase-server U: hbase-server |
   | Console output | https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6643/2/console |
   | versions | git=2.34.1 maven=3.9.8 spotbugs=4.7.3 |
   | Powered by | Apache Yetus 0.15.0 https://yetus.apache.org |
   
   
   This message was automatically generated.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org