Skip to content

Commit 7ceb315

Browse files
authored
Merge pull request quarkusio#52637 from brunobat/null-mdc-kafka
Fix NPE when preserving MDC entries in VertxMDC
2 parents dcfb93a + fcd73b2 commit 7ceb315

File tree

1 file changed

+8
-5
lines changed
  • extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime

1 file changed

+8
-5
lines changed

extensions/vertx/runtime/src/main/java/io/quarkus/vertx/core/runtime/VertxMDC.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,8 @@ public boolean isEmpty(Context vertxContext) {
268268
return contextualDataMap(vertxContext).isEmpty();
269269
}
270270

271-
public Set<String> getKeys() {
272-
return new HashSet<>(contextualDataMap(getContext()).keySet());
271+
public Set<Map.Entry<String, Object>> getEntrySet() {
272+
return new HashSet<>(contextualDataMap(getContext()).entrySet());
273273
}
274274

275275
/**
@@ -349,9 +349,12 @@ public void reinitializeVertxMdc(Context vertxContext, Set<String> discardMdcKey
349349

350350
final Map<String, Object> carryover = new HashMap<>();
351351
final boolean hasDiscardKeys = discardMdcKeys == null || discardMdcKeys.isEmpty();
352-
for (String key : VertxMDC.INSTANCE.getKeys()) {
353-
if (hasDiscardKeys || !discardMdcKeys.contains(key)) {
354-
carryover.put(key, VertxMDC.INSTANCE.getObject(key));
352+
for (Map.Entry<String, Object> entry : VertxMDC.INSTANCE.getEntrySet()) {
353+
final String key = entry.getKey();
354+
final Object value = entry.getValue();
355+
// Not taking chances with null values
356+
if (key != null && value != null && (hasDiscardKeys || !discardMdcKeys.contains(key))) {
357+
carryover.put(key, value);
355358
}
356359
}
357360

0 commit comments

Comments
 (0)