This is an automated email from the ASF dual-hosted git repository.
vjasani 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 d4c94a7ef6 PHOENIX-7394 MaxPhoenixColumnSizeExceededException should
not print rowkey (#1963) (#1961)
d4c94a7ef6 is described below
commit d4c94a7ef620941f82fb51002c33040d6782a0ab
Author: Jing Yu <[email protected]>
AuthorDate: Thu Aug 29 11:16:06 2024 -0700
PHOENIX-7394 MaxPhoenixColumnSizeExceededException should not print rowkey
(#1963) (#1961)
---
.../apache/phoenix/end2end/MutationStateIT.java | 6 ------
.../org/apache/phoenix/compile/UpsertCompiler.java | 25 +++++-----------------
.../MaxPhoenixColumnSizeExceededException.java | 4 ++--
3 files changed, 7 insertions(+), 28 deletions(-)
diff --git
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MutationStateIT.java
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MutationStateIT.java
index f10463edcc..7e1a316e67 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MutationStateIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MutationStateIT.java
@@ -615,12 +615,6 @@ public class MutationStateIT extends
ParallelStatsDisabledIT {
SQLExceptionCode.MAX_HBASE_CLIENT_KEYVALUE_MAXSIZE_EXCEEDED.getMessage()));
assertTrue(e.getMessage().contains(
connectionProperties.getProperty(QueryServices.HBASE_CLIENT_KEYVALUE_MAXSIZE)));
- assertTrue(e.getMessage().contains(pk1Name));
- assertTrue(e.getMessage().contains(pk2Name));
- assertTrue(e.getMessage().contains(pk1Value));
- assertTrue(e.getMessage().contains(pk2Value));
- assertFalse(e.getMessage().contains(payload1Value));
- assertFalse(e.getMessage().contains(payload3Value));
}
}
}
diff --git
a/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
b/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
index 2d1b0d5712..2f7ecf40e8 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java
@@ -145,9 +145,8 @@ public class UpsertCompiler {
PColumn column = table.getColumns().get(columnIndexes[i]);
if (value.length >= maxHBaseClientKeyValueSize &&
table.getImmutableStorageScheme() ==
PTable.ImmutableStorageScheme.ONE_CELL_PER_COLUMN) {
- String rowkeyAndColumnInfo =
getExceedMaxHBaseClientKeyValueAllowanceRowkeyAndColumnInfo(
- values, columnIndexes, table, numSplColumns,
column.getName().getString());
- throw new
MaxPhoenixColumnSizeExceededException(rowkeyAndColumnInfo,
maxHBaseClientKeyValueSize, value.length);
+ String columnInfo =
getExceedMaxHBaseClientKeyValueAllowanceColumnInfo(table,
column.getName().getString());
+ throw new MaxPhoenixColumnSizeExceededException(columnInfo,
maxHBaseClientKeyValueSize, value.length);
}
if (SchemaUtil.isPKColumn(column)) {
@@ -186,24 +185,10 @@ public class UpsertCompiler {
mutation.put(ptr, new RowMutationState(columnValues, columnValueSize,
statement.getConnection().getStatementExecutionCounter(), rowTsColInfo,
onDupKeyBytes));
}
- public static String
getExceedMaxHBaseClientKeyValueAllowanceRowkeyAndColumnInfo(
- byte[][] values, int[] columnIndexes, PTable table, int
numSplColumns, String columnName) {
- StringBuilder sb = new StringBuilder();
- for (int i = 0, j = numSplColumns; j < values.length; j++, i++) {
- byte[] value = values[j];
- PColumn column = table.getColumns().get(columnIndexes[i]);
- if (SchemaUtil.isPKColumn(column)) {
- if (sb.length() != 0) {
- sb.append(" AND ");
- }
- sb.append(column.getName().toString() + "=" +
Bytes.toString(value));
- }
- }
- return String.format("Upsert data to table %s on Column %s exceed max
HBase client keyvalue size allowance, " +
- "the rowkey is %s",
+ public static String
getExceedMaxHBaseClientKeyValueAllowanceColumnInfo(PTable table, String
columnName) {
+ return String.format("Upsert data to table %s on Column %s exceed max
HBase client keyvalue size allowance",
SchemaUtil.getTableName(table.getSchemaName().toString(),
table.getTableName().toString()),
- columnName,
- sb.toString());
+ columnName);
}
public static MutationState upsertSelect(StatementContext childContext,
TableRef tableRef,
diff --git
a/phoenix-core/src/main/java/org/apache/phoenix/schema/MaxPhoenixColumnSizeExceededException.java
b/phoenix-core/src/main/java/org/apache/phoenix/schema/MaxPhoenixColumnSizeExceededException.java
index dc73145c26..64e01d5eae 100644
---
a/phoenix-core/src/main/java/org/apache/phoenix/schema/MaxPhoenixColumnSizeExceededException.java
+++
b/phoenix-core/src/main/java/org/apache/phoenix/schema/MaxPhoenixColumnSizeExceededException.java
@@ -37,10 +37,10 @@ public class MaxPhoenixColumnSizeExceededException extends
SQLException {
super(new SQLExceptionInfo.Builder(code).build().toString(),
code.getSQLState(), code.getErrorCode(), null);
}
- public MaxPhoenixColumnSizeExceededException(String rowkeyAndColumnInfo,
int maxMutationCellSizeBytes,
+ public MaxPhoenixColumnSizeExceededException(String columnInfo, int
maxMutationCellSizeBytes,
int mutationCellSizeBytes) {
super(new
SQLExceptionInfo.Builder(code).setMaxPhoenixColumnSizeBytes(maxMutationCellSizeBytes)
-
.setPhoenixColumnSizeBytes(mutationCellSizeBytes).build().toString() + ". " +
rowkeyAndColumnInfo,
+
.setPhoenixColumnSizeBytes(mutationCellSizeBytes).build().toString() + ". " +
columnInfo,
code.getSQLState(), code.getErrorCode(), null);
}
}
\ No newline at end of file