This is an automated email from the ASF dual-hosted git repository.
tabish121 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-protonj2.git
The following commit(s) were added to refs/heads/main by this push:
new fe3abc6f PROTON-3002 Additional correctness update for decoder cache
tracking
fe3abc6f is described below
commit fe3abc6f5f4ad42bbdedac05ec247afdf9bfe3ec
Author: Timothy Bish <[email protected]>
AuthorDate: Wed Nov 4 19:04:43 2026 -0500
PROTON-3002 Additional correctness update for decoder cache tracking
---
.../org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java | 8 +++-----
.../qpid/protonj2/codec/decoders/ProtonStreamDecoder.java | 10 ++++------
2 files changed, 7 insertions(+), 11 deletions(-)
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java
index d6b12beb..fba8d09f 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonDecoder.java
@@ -1071,11 +1071,9 @@ public class ProtonDecoder implements Decoder {
};
if (canCache &&
unknownDescribedTypeDecodersSlots.getAndUpdate(available -> available > 0 ?
available - 1 : available) > 0) {
- if (unknownDescribedTypeDecodersSlots.getAndDecrement() > 0) {
- final UnknownDescribedTypeDecoder previous =
unknownDescribedTypeDecoders.putIfAbsent(descriptor, typeDecoder);
- if (previous != null) {
- unknownDescribedTypeDecodersSlots.incrementAndGet();
- }
+ final UnknownDescribedTypeDecoder previous =
unknownDescribedTypeDecoders.putIfAbsent(descriptor, typeDecoder);
+ if (previous != null) {
+ unknownDescribedTypeDecodersSlots.incrementAndGet();
}
}
diff --git
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoder.java
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoder.java
index 1070a7af..a9ba5f51 100644
---
a/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoder.java
+++
b/protonj2/src/main/java/org/apache/qpid/protonj2/codec/decoders/ProtonStreamDecoder.java
@@ -1042,12 +1042,10 @@ public final class ProtonStreamDecoder implements
StreamDecoder {
}
};
- if (canCache && unknownDescribedTypeDecodersSlots.get() > 0) {
- if (canCache &&
unknownDescribedTypeDecodersSlots.getAndUpdate(available -> available > 0 ?
available - 1 : available) > 0) {
- final UnknownDescribedTypeDecoder previous =
unknownDescribedTypeDecoders.putIfAbsent(descriptor, streamTypeDecoder);
- if (previous != null) {
- unknownDescribedTypeDecodersSlots.incrementAndGet();
- }
+ if (canCache &&
unknownDescribedTypeDecodersSlots.getAndUpdate(available -> available > 0 ?
available - 1 : available) > 0) {
+ final UnknownDescribedTypeDecoder previous =
unknownDescribedTypeDecoders.putIfAbsent(descriptor, streamTypeDecoder);
+ if (previous != null) {
+ unknownDescribedTypeDecodersSlots.incrementAndGet();
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]