You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by GitBox <gi...@apache.org> on 2022/07/05 07:58:27 UTC

[GitHub] [iceberg] nastra opened a new pull request, #5200: Core: Fix ErrorProne Warnings

nastra opened a new pull request, #5200:
URL: https://github.com/apache/iceberg/pull/5200

   The only warning that is left is this one from https://github.com/apache/iceberg/blob/2f8a09a8f81b27b8ba4025efaa328244ae0fc2a6/core/src/main/java/org/apache/iceberg/util/ZOrderByteUtils.java#L182-L183
   which seems legit as we're doing a lossy cast that would fail compilation if I rewrite it (https://errorprone.info/bugpattern/NarrowingCompoundAssignment):
   
   ```
   > Task :iceberg-core:compileJava
   /home/nastra/Development/workspace/iceberg/core/src/main/java/org/apache/iceberg/util/ZOrderByteUtils.java:182: warning: [NarrowingCompoundAssignment] Compound assignments from int to byte hide lossy casts
         interleavedBytes[interleaveByte] |=
                                          ^
       (see https://errorprone.info/bugpattern/NarrowingCompoundAssignment)
     Did you mean 'interleavedBytes[interleaveByte] = (byte) (interleavedBytes[interleaveByte] | (columnsBinary[sourceColumn][sourceByte] & 1 << sourceBit) >>> sourceBit << interleaveBit);'?
   ```


-- 
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@iceberg.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


[GitHub] [iceberg] RussellSpitzer commented on pull request #5200: Core: Fix ErrorProne Warnings

Posted by GitBox <gi...@apache.org>.
RussellSpitzer commented on PR #5200:
URL: https://github.com/apache/iceberg/pull/5200#issuecomment-1176226163

   > The only warning that is left is this one from
   > 
   > https://github.com/apache/iceberg/blob/2f8a09a8f81b27b8ba4025efaa328244ae0fc2a6/core/src/main/java/org/apache/iceberg/util/ZOrderByteUtils.java#L182-L183
   > 
   > 
   > which seems legit as we're doing a lossy cast that would fail compilation if I rewrite it (https://errorprone.info/bugpattern/NarrowingCompoundAssignment):
   > ```
   > > Task :iceberg-core:compileJava
   > /home/nastra/Development/workspace/iceberg/core/src/main/java/org/apache/iceberg/util/ZOrderByteUtils.java:182: warning: [NarrowingCompoundAssignment] Compound assignments from int to byte hide lossy casts
   >       interleavedBytes[interleaveByte] |=
   >                                        ^
   >     (see https://errorprone.info/bugpattern/NarrowingCompoundAssignment)
   >   Did you mean 'interleavedBytes[interleaveByte] = (byte) (interleavedBytes[interleaveByte] | (columnsBinary[sourceColumn][sourceByte] & 1 << sourceBit) >>> sourceBit << interleaveBit);'?
   > ```
   
   So this is as intended 
   
   The code is a bit complicated but a description would be
   ``` java
    interleavedBytes[interleaveByte] |=  //  if the target bit isn't set it
            (columnsBinary[sourceColumn][sourceByte] & 1 << sourceBit) >>> sourceBit  // Get the bit we are checking and move it all the way into the 1's place
   << interleaveBit;  // Move the bit back into our target position
   ```
   
   So 
   ```java
   (columnsBinary[sourceColumn][sourceByte] & 1 << sourceBit) 
   ```
   Can only produce values between 0 and 128 (00000000), (00000001), (00000010), .... (10000000)
   
   Then
   
   ```
   >>> sourceBit 
   ```
   Can only produce values between 0 and 1 
   
   then
   
   ```
   << interleaveBit
   ```
   
   Can only produce values again between 0 and 128
   
   Now if interleave bit or source bit were greater than 7 we would be in trouble but those are locked down
   


-- 
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@iceberg.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


[GitHub] [iceberg] rdblue commented on pull request #5200: Core: Fix ErrorProne Warnings

Posted by GitBox <gi...@apache.org>.
rdblue commented on PR #5200:
URL: https://github.com/apache/iceberg/pull/5200#issuecomment-1175346464

   Thanks, @nastra! Looks good to me.


-- 
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@iceberg.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


[GitHub] [iceberg] rdblue merged pull request #5200: Core: Fix ErrorProne Warnings

Posted by GitBox <gi...@apache.org>.
rdblue merged PR #5200:
URL: https://github.com/apache/iceberg/pull/5200


-- 
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@iceberg.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


[GitHub] [iceberg] nastra commented on pull request #5200: Core: Fix ErrorProne Warnings

Posted by GitBox <gi...@apache.org>.
nastra commented on PR #5200:
URL: https://github.com/apache/iceberg/pull/5200#issuecomment-1176267346

   thanks for the clarification @RussellSpitzer. I suppressed the warning for [NarrowingCompoundAssignment](https://errorprone.info/bugpattern/NarrowingCompoundAssignment) in https://github.com/apache/iceberg/pull/5212


-- 
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@iceberg.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org