This is an automated email from the ASF dual-hosted git repository.

stoty pushed a commit to branch 5.1
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/5.1 by this push:
     new a602ea8983 PHOENIX-7740 Update JAXB to 2.3.9 in Pherf and fix XML 
object collection initialization (#2327)
a602ea8983 is described below

commit a602ea89830a64b5369b4276b715a4c3e77894a8
Author: Istvan Toth <[email protected]>
AuthorDate: Fri Dec 5 11:26:04 2025 +0100

    PHOENIX-7740 Update JAXB to 2.3.9 in Pherf and fix XML object collection 
initialization (#2327)
---
 phoenix-pherf/pom.xml                                | 20 ++++++++++++++++----
 .../apache/phoenix/pherf/configuration/Column.java   |  3 ++-
 .../phoenix/pherf/configuration/DataModel.java       |  5 +++--
 .../phoenix/pherf/configuration/DataOverride.java    |  3 ++-
 .../phoenix/pherf/configuration/LoadProfile.java     |  5 +++--
 .../apache/phoenix/pherf/configuration/Scenario.java |  7 ++++---
 .../apache/phoenix/pherf/configuration/Upsert.java   |  6 ++----
 .../phoenix/pherf/configuration/UserDefined.java     |  3 ++-
 .../phoenix/pherf/configuration/XMLConfigParser.java |  4 ++--
 9 files changed, 36 insertions(+), 20 deletions(-)

diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index c333a3e900..617e39fc22 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -38,7 +38,8 @@
     <jcabi-jdbc.version>0.15</jcabi-jdbc.version>
     <system-rules.version>1.8.0</system-rules.version>
     <stax.version>1.0.1</stax.version>
-    <jaxb.version>2.2.11</jaxb.version>
+    <jaxb-api.version>2.3.1</jaxb-api.version>
+    <jaxb-impl.version>2.3.9</jaxb-impl.version>
     <!-- JaCoCo thresholds overriden for phoenix-pherf -->
     
<jacoco.instruction.coverage.percentage>0.650</jacoco.instruction.coverage.percentage>
     
<jacoco.branch.coverage.percentage>0.500</jacoco.branch.coverage.percentage>
@@ -69,12 +70,18 @@
       <dependency>
         <groupId>javax.xml.bind</groupId>
         <artifactId>jaxb-api</artifactId>
-        <version>${jaxb.version}</version>
+        <version>${jaxb-api.version}</version>
       </dependency>
       <dependency>
         <groupId>org.glassfish.jaxb</groupId>
         <artifactId>jaxb-runtime</artifactId>
-        <version>${jaxb.version}</version>
+        <version>${jaxb-impl.version}</version>
+      </dependency>
+      <!-- Same as above, but we get both from transitive dependencies -->
+      <dependency>
+        <groupId>com.sun.xml.bind</groupId>
+        <artifactId>jaxb-impl</artifactId>
+        <version>${jaxb-impl.version}</version>
       </dependency>
       <dependency>
         <groupId>com.jcabi</groupId>
@@ -215,6 +222,11 @@
       <groupId>javax.xml.bind</groupId>
       <artifactId>jaxb-api</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.glassfish.jaxb</groupId>
+      <artifactId>jaxb-runtime</artifactId>
+      <scope>runtime</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -257,7 +269,7 @@
             
<ignoredUnusedDeclaredDependency>org.apache.hbase.thirdparty:hbase-shaded-miscellaneous</ignoredUnusedDeclaredDependency>
             
<ignoredUnusedDeclaredDependency>javax.activation:activation</ignoredUnusedDeclaredDependency>
             
<ignoredUnusedDeclaredDependency>javax.xml.bind:jaxb-api</ignoredUnusedDeclaredDependency>
-            
<ignoredUnusedDeclaredDependency>org.glassfish.jaxb:jax-runtime</ignoredUnusedDeclaredDependency>
+            
<ignoredUnusedDeclaredDependency>org.glassfish.jaxb:jaxb-runtime</ignoredUnusedDeclaredDependency>
             
<ignoredUnusedDeclaredDependency>org.apache.hbase:hbase-it</ignoredUnusedDeclaredDependency>
             
<ignoredUnusedDeclaredDependency>org.apache.phoenix:phoenix-hbase-compat-${hbase.compat.version}</ignoredUnusedDeclaredDependency>
             
<ignoredUnusedDeclaredDependency>org.apache.hbase:hbase-testing-util</ignoredUnusedDeclaredDependency>
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Column.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Column.java
index f2b63d478a..1269fc730b 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Column.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Column.java
@@ -17,6 +17,7 @@
  */
 package org.apache.phoenix.pherf.configuration;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import javax.xml.bind.annotation.XmlElement;
@@ -31,7 +32,7 @@ public class Column {
   private long minValue, maxValue;
   private int nullChance;
   private boolean userDefined;
-  private List<DataValue> dataValues;
+  private List<DataValue> dataValues = new ArrayList<>();
   private DataTypeMapping type;
   private boolean useCurrentDate;
 
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataModel.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataModel.java
index 602e577f2e..38add1ae38 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataModel.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataModel.java
@@ -17,6 +17,7 @@
  */
 package org.apache.phoenix.pherf.configuration;
 
+import java.util.ArrayList;
 import java.util.List;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
@@ -26,8 +27,8 @@ import javax.xml.bind.annotation.XmlRootElement;
 @XmlRootElement(name = "datamodel")
 public class DataModel {
   private String name;
-  private List<Scenario> scenarios;
-  private List<Column> dataMappingColumns;
+  private List<Scenario> scenarios = new ArrayList<>();
+  private List<Column> dataMappingColumns = new ArrayList<>();
 
   public DataModel() {
   }
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataOverride.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataOverride.java
index cbc3194e5b..e832472ac8 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataOverride.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/DataOverride.java
@@ -17,12 +17,13 @@
  */
 package org.apache.phoenix.pherf.configuration;
 
+import java.util.ArrayList;
 import java.util.List;
 import javax.xml.bind.annotation.XmlType;
 
 @XmlType
 public class DataOverride {
-  private List<Column> column;
+  private List<Column> column = new ArrayList<>();
 
   public List<Column> getColumn() {
     return column;
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/LoadProfile.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/LoadProfile.java
index 647c73ced6..fb865282a1 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/LoadProfile.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/LoadProfile.java
@@ -17,6 +17,7 @@
  */
 package org.apache.phoenix.pherf.configuration;
 
+import java.util.ArrayList;
 import java.util.List;
 import javax.xml.bind.annotation.XmlType;
 
@@ -44,9 +45,9 @@ public class LoadProfile {
   private int groupIdLength;
   private int tenantIdLength;
   // Holds the desired tenant distribution for this load.
-  private List<TenantGroup> tenantDistribution;
+  private List<TenantGroup> tenantDistribution = new ArrayList<>();
   // Holds the desired operation distribution for this load.
-  private List<OperationGroup> opDistribution;
+  private List<OperationGroup> opDistribution = new ArrayList<>();
 
   public LoadProfile() {
     this.batchSize = MIN_BATCH_SIZE;
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Scenario.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Scenario.java
index 2721ebdf23..00033538a8 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Scenario.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Scenario.java
@@ -18,6 +18,7 @@
 package org.apache.phoenix.pherf.configuration;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import javax.xml.bind.annotation.XmlAttribute;
@@ -33,7 +34,7 @@ import 
org.apache.phoenix.thirdparty.com.google.common.base.Preconditions;
 public class Scenario {
   private String tableName;
   private int rowCount;
-  private Map<String, String> phoenixProperties;
+  private Map<String, String> phoenixProperties = new HashMap<>();
   private WriteParams writeParams = null;
   private DataOverride dataOverride;
   private List<QuerySet> querySet = new ArrayList<>();
@@ -45,8 +46,8 @@ public class Scenario {
   private String name;
   private String generatorName;
   private String tenantId;
-  private List<Ddl> preScenarioDdls;
-  private List<Ddl> postScenarioDdls;
+  private List<Ddl> preScenarioDdls = new ArrayList<>();
+  private List<Ddl> postScenarioDdls = new ArrayList<>();
 
   public Scenario() {
   }
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Upsert.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Upsert.java
index 525ddcc48a..aea2e8e7ac 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Upsert.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/Upsert.java
@@ -17,20 +17,19 @@
  */
 package org.apache.phoenix.pherf.configuration;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import javax.xml.bind.annotation.XmlAttribute;
 import org.apache.phoenix.pherf.rules.RulesApplier;
 
-import org.apache.phoenix.thirdparty.com.google.common.collect.Lists;
-
 public class Upsert {
 
   private String id;
   private String upsertGroup;
   private String statement;
-  private List<Column> column;
+  private List<Column> column = new ArrayList<>();
   private boolean useGlobalConnection;
   private Pattern pattern;
   private long timeoutDuration = Long.MAX_VALUE;
@@ -84,7 +83,6 @@ public class Upsert {
   }
 
   public List<Column> getColumn() {
-    if (column == null) return Lists.newArrayList();
     return column;
   }
 
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/UserDefined.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/UserDefined.java
index eccc922872..6911ad2ec2 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/UserDefined.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/UserDefined.java
@@ -17,6 +17,7 @@
  */
 package org.apache.phoenix.pherf.configuration;
 
+import java.util.ArrayList;
 import java.util.List;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
@@ -25,7 +26,7 @@ import javax.xml.bind.annotation.XmlType;
 public class UserDefined {
   String id;
   String clazzName;
-  List<String> args;
+  List<String> args = new ArrayList<>();
 
   @XmlAttribute
   public String getId() {
diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
index d59425adae..321e1b24a4 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/configuration/XMLConfigParser.java
@@ -43,9 +43,9 @@ public class XMLConfigParser {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(XMLConfigParser.class);
   private String filePattern;
   private List<DataModel> dataModels;
-  private List<Scenario> scenarios = null;
+  private List<Scenario> scenarios;
   private ResourceList resourceList;
-  private Collection<Path> paths = null;
+  private Collection<Path> paths;
 
   public XMLConfigParser(String pattern) throws Exception {
     init(pattern);

Reply via email to