This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jxpath.git
The following commit(s) were added to refs/heads/master by this push:
new 4d7c9804 Fix inconsistent synchronization of
NamespaceResolver.pointer; locked 50% of time (SpotBugs: MT_CORRECTNESS
IS2_INCONSISTENT_SYNC)
4d7c9804 is described below
commit 4d7c9804c35c66b7303eb2099ac5f3810222e61f
Author: Gary Gregory <[email protected]>
AuthorDate: Sun Nov 16 15:04:14 2025 -0500
Fix inconsistent synchronization of NamespaceResolver.pointer; locked
50% of time (SpotBugs: MT_CORRECTNESS IS2_INCONSISTENT_SYNC)
---
src/changes/changes.xml | 1 +
src/main/java/org/apache/commons/jxpath/ri/NamespaceResolver.java | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index eb9851be..e7884ba0 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -52,6 +52,7 @@ The <action> type attribute can be add,update,fix,remove.
<action type="fix" dev="ggregory" due-to="Gary Gregory">POM
assembly:single does not generate binary convenience files (tar/zip).</action>
<action type="fix" dev="ggregory" due-to="Dima1224, Gary Gregory">Make
dynamicPropertyHandlerMap in ValueUtils thread-safe #251.</action>
<action type="fix" dev="ggregory" due-to="Gary Gregory">Refactor
JXPathIntrospector internal static maps to use concurrent classes instead of
synchronization.</action>
+ <action type="fix" dev="ggregory" due-to="Gary Gregory">Fix inconsistent
synchronization of NamespaceResolver.pointer; locked 50% of time (SpotBugs:
MT_CORRECTNESS IS2_INCONSISTENT_SYNC).</action>
<!-- ADD -->
<!-- UPDATE -->
<action type="update" dev="ggregory" due-to="Gary Gregory,
Dependabot">Bump org.apache.commons:commons-parent from 81 to 92 #239, #262,
#265.</action>
diff --git a/src/main/java/org/apache/commons/jxpath/ri/NamespaceResolver.java
b/src/main/java/org/apache/commons/jxpath/ri/NamespaceResolver.java
index 8e0e2f22..ddba003d 100644
--- a/src/main/java/org/apache/commons/jxpath/ri/NamespaceResolver.java
+++ b/src/main/java/org/apache/commons/jxpath/ri/NamespaceResolver.java
@@ -133,7 +133,7 @@ public class NamespaceResolver implements Cloneable,
Serializable {
*
* @return Pointer
*/
- public Pointer getNamespaceContextPointer() {
+ public synchronized Pointer getNamespaceContextPointer() {
if (pointer == null && parent != null) {
return parent.getNamespaceContextPointer();
}
@@ -201,7 +201,7 @@ public class NamespaceResolver implements Cloneable,
Serializable {
*
* @param pointer the Pointer to set.
*/
- public void setNamespaceContextPointer(final NodePointer pointer) {
+ public synchronized void setNamespaceContextPointer(final NodePointer
pointer) {
this.pointer = pointer;
}
}