mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 11:52:28 +01:00
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 <bart.meyers@cldin.eu>
This commit is contained in:
parent
696b93f421
commit
9410a70454
@ -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,
|
||||
|
||||
@ -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() {
|
||||
|
||||
@ -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;
|
||||
Loading…
x
Reference in New Issue
Block a user