This is an automated email from the ASF dual-hosted git repository.
stoty pushed a commit to branch 5.2
in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/5.2 by this push:
new c8fcc0f543 PHOENIX-7740 Update JAXB to 2.3.9 in Pherf and fix XML
object collection initialization (#2327)
c8fcc0f543 is described below
commit c8fcc0f5435e305a11e14c953f7e4491dbb516af
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 aed94a9083..378cbe63d0 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -36,7 +36,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>
@@ -67,12 +68,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>
@@ -242,6 +249,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>
@@ -284,7 +296,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);