[ https://issues.apache.org/jira/browse/CASSANDRA-14752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17520837#comment-17520837 ]
Ekaterina Dimitrova edited comment on CASSANDRA-14752 at 4/12/22 10:05 PM: --------------------------------------------------------------------------- The upgrade_udtfix_test look suspicious from the perspective they don't fail in Jenkins (talking about Cassandra-3.11). I pushed in a loop with the patch: [https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1532/workflows/dc444e1f-42ca-4993-b053-5a9c69ba1c2d] Without the patch: [https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1533/workflows/118fff4b-1d4f-4fd6-8b2d-c33dd8f76bde] Everything is green and when you try to look at the logs - test runs were just skipped.... this made me check Jenkins, it seems those tests are skipped also there... Maybe [~jlewandowski], [~brandon.williams] or [~mck] will know something? I see the three of you were interacting with those tests before. The rest of the failures are all known with associated tickets. was (Author: e.dimitrova): The upgrade_udtfix_test look suspicious from the perspective they don't fail in Jenkins. I pushed in a loop with the patch: [https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1532/workflows/dc444e1f-42ca-4993-b053-5a9c69ba1c2d] Without the patch: [https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1533/workflows/118fff4b-1d4f-4fd6-8b2d-c33dd8f76bde] Everything is green and when you try to look at the logs - test runs were just skipped.... this made me check Jenkins, it seems those tests are skipped also there... Maybe [~jlewandowski], [~brandon.williams] or [~mck] will know something? I see the three of you were interacting with those tests before. The rest of the failures are all known with associated tickets. > serializers/BooleanSerializer.java is using static bytebuffers which may > cause problem for subsequent operations > ---------------------------------------------------------------------------------------------------------------- > > Key: CASSANDRA-14752 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14752 > Project: Cassandra > Issue Type: Bug > Components: Legacy/Core > Reporter: Varun Barala > Assignee: Ekaterina Dimitrova > Priority: Normal > Fix For: 3.11.x, 4.0.x, 4.x > > Attachments: patch, patch-modified > > > [https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/serializers/BooleanSerializer.java#L26] > It has two static Bytebuffer variables:- > {code:java} > private static final ByteBuffer TRUE = ByteBuffer.wrap(new byte[]{1}); > private static final ByteBuffer FALSE = ByteBuffer.wrap(new byte[]{0});{code} > What will happen if the position of these Bytebuffers is being changed by > some other operations? It'll affect other subsequent operations. -IMO Using > static is not a good idea here.- > A potential place where it can become problematic: > [https://github.com/apache/cassandra/blob/cassandra-2.1.13/src/java/org/apache/cassandra/db/marshal/AbstractCompositeType.java#L243] > Since we are calling *`.remaining()`* It may give wrong results _i.e 0_ if > these Bytebuffers have been used previously. > Solution: > > [https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/serializers/BooleanSerializer.java#L42] > Every time we return new bytebuffer object. Please do let me know If there > is a better way. I'd like to contribute. Thanks!! > {code:java} > public ByteBuffer serialize(Boolean value) > { > return (value == null) ? ByteBufferUtil.EMPTY_BYTE_BUFFER > : value ? ByteBuffer.wrap(new byte[] {1}) : ByteBuffer.wrap(new byte[] {0}); > // false > } > {code} -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org