This is an automated email from the ASF dual-hosted git repository.
shwstppr pushed a commit to branch 4.17
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.17 by this push:
new 9410a70454 schema: increase size of column 'value' at table
'account_details' (#6080)
9410a70454 is described below
commit 9410a70454eaabd625ebfd6c1287adacc5949d14
Author: Gabriel Beims Bräscher <[email protected]>
AuthorDate: Fri Aug 12 15:12:50 2022 -0300
schema: increase size of column 'value' at table 'account_details' (#6080)
This PR increases the column value at table account_details from 255 chars
to 4096, matching with the value allowed in the API command for updating the
configuration of accounts.
When the value length is bigger than 255, the following log is presented
right after the updateConfiguration API call:
2022-03-09 17:50:24,627 ERROR [c.c.a.ApiServer]
(qtp30578394-234766:ctx-cad18b45 ctx-32e954dd) (logid:0948e203) unhandled
exception executing api command: [Ljava.lang.String;@117c6ba7
com.cloud.utils.exception.CloudRuntimeException: DB Exception on:
com.mysql.cj.jdbc.ClientPreparedStatement: INSERT INTO account_details
(account_details.account_id, account_details.name, account_details.value)
VALUES (123, _binary'api.allowed.source.cidr.list', _binary'<huge binary>')
at
com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1450)
at jdk.internal.reflect.GeneratedMethodAccessor168.invoke(Unknown
Source)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
....
....
....
Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data
truncation: Data too long for column 'value' at row 1
at
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104)
at
com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
at
com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1092)
... 83 more
Co-authored-by: Bart Meyers <[email protected]>
---
.../org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java | 2 +-
engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java | 2 +-
engine/schema/src/main/resources/META-INF/db/schema-41700to41710.sql | 3 +++
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git
a/api/src/main/java/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java
b/api/src/main/java/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java
index acc0d79baa..0770f3c5a5 100644
---
a/api/src/main/java/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java
+++
b/api/src/main/java/org/apache/cloudstack/api/command/admin/config/UpdateCfgCmd.java
@@ -50,7 +50,7 @@ public class UpdateCfgCmd extends BaseCmd {
@Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required =
true, description = "the name of the configuration")
private String cfgName;
- @Parameter(name = ApiConstants.VALUE, type = CommandType.STRING,
description = "the value of the configuration", length = 4095)
+ @Parameter(name = ApiConstants.VALUE, type = CommandType.STRING,
description = "the value of the configuration", length = 4096)
private String value;
@Parameter(name = ApiConstants.ZONE_ID,
diff --git a/engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java
b/engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java
index f4b356730e..71ad765e61 100644
--- a/engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java
+++ b/engine/schema/src/main/java/com/cloud/user/AccountDetailVO.java
@@ -42,7 +42,7 @@ public class AccountDetailVO implements InternalIdentity {
private String name;
@Encrypt
- @Column(name = "value")
+ @Column(name = "value", length=4096)
private String value;
protected AccountDetailVO() {
diff --git
a/engine/schema/src/main/resources/META-INF/db/schema-41700to41710.sql
b/engine/schema/src/main/resources/META-INF/db/schema-41700to41710.sql
index abbc99a53b..7b8ed8f684 100644
--- a/engine/schema/src/main/resources/META-INF/db/schema-41700to41710.sql
+++ b/engine/schema/src/main/resources/META-INF/db/schema-41700to41710.sql
@@ -126,3 +126,6 @@ CREATE VIEW `cloud`.`domain_router_view` AS
`cloud`.`async_job` ON async_job.instance_id = vm_instance.id
and async_job.instance_type = 'DomainRouter'
and async_job.job_status = 0;
+
+-- PR #6080 Change column `value` size from 255 to 4096 characters, matching
the API "updateConfiguration" "value" size
+ALTER TABLE `cloud`.`account_details` MODIFY `value` VARCHAR(4096) NOT NULL;
\ No newline at end of file