[
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: [email protected]
For additional commands, e-mail: [email protected]