Can I fix below error? I Upgraded my starrocks clu...
# questions-and-troubleshooting
u
Can I fix below error? I Upgraded my starrocks cluster to 4.0.0 (from 3.5.6) But when I accidently restarted frontend node (currently I am using single frontend node) After that the table is broken with below error. How to debug or fix It?
Copy code
> SELECT flat_json_meta(event_params) from uba.raw_event[_META_];
ERROR 1064 (HY000): Multiple entries with same key: `event_params.brand_id` varchar NULL COMMENT ""=36: event_params.brand_id and `event_params.brand_id` varchar NULL COMMENT ""=35: event_params.brand_id

SHOW CREATE TABLE uba.raw_event;
| raw_event | CREATE TABLE `raw_event` (
  `event_id` varchar(50) NULL COMMENT "",
  `server_access_time` datetime NULL COMMENT "",
  `access_time` datetime NULL COMMENT "",
  `bp_cid` varchar(100) NULL COMMENT "",
  `bp_m_ver` varchar(50) NULL COMMENT "",
  `bp_sid` varchar(100) NULL COMMENT "",
  `bp_aid` varchar(100) NULL COMMENT "",
  `bp_p_type` varchar(50) NULL COMMENT "",
  `bp_a_name` varchar(100) NULL COMMENT "",
  `bp_s_country` varchar(10) NULL COMMENT "",
  `bp_locale` varchar(10) NULL COMMENT "",
  `ohouse_user_id` varchar(10) NULL COMMENT "",
  `object_id` varchar(100) NULL COMMENT "",
  `object_type` varchar(50) NULL COMMENT "",
  `object_section` varchar(100) NULL COMMENT "",
  `object_section_id` varchar(100) NULL COMMENT "",
  `object_idx` int(11) NULL COMMENT "",
  `page_id` varchar(100) NULL COMMENT "",
  `page_params` json NULL COMMENT "",
  `category` varchar(50) NULL COMMENT "",
  `event_params` json NULL COMMENT "",
  `_debug_info` json NULL COMMENT "",
  `event_date` date NULL AS date(`server_access_time`) COMMENT "",
  `event_year` smallint(6) NULL AS year(`server_access_time`) COMMENT "",
  `event_month` tinyint(4) NULL AS month(`server_access_time`) COMMENT "",
  `event_day` tinyint(4) NULL AS day(`server_access_time`) COMMENT ""
) ENGINE=OLAP
UNIQUE KEY(`event_id`, `server_access_time`)
COMMENT "OLAP"
PARTITION BY time_slice(server_access_time, 30, 'minute', 'floor')
DISTRIBUTED BY HASH(`event_id`)
PROPERTIES (
"compression" = "ZSTD",
"datacache.enable" = "false",
"enable_async_write_back" = "false",
"file_bundling" = "true",
"partition_retention_condition" = "server_access_time >= CURRENT_DATE() - INTERVAL 3 MONTH",
"replication_num" = "1",
"storage_volume" = "builtin_storage_volume"
); |
I couldn't find any
event_params.brand_id
(which is json column..)
Belows are error stacktrace
Copy code
2025-10-22 17:15:00.217+09:00 WARN (starrocks-taskrun-pool-12|303) [TaskRunExecutor.lambda$executeTaskRun$0():63] failed to execute TaskRun.
 com.starrocks.sql.common.DmlException: Refresh mv mv_delivery_tracking_pageview failed after 1 times, try lock failed: 0, error-msg : java.lang.IllegalArgumentException: Multiple entries with same key: `event_params.brand_id` varchar NULL COMMENT ""=36: event_params.brand_id and `event_params.brand_id` varchar NULL COMMENT ""=35: event_params.brand_id
	at com.google.common.collect.ImmutableMap.conflictException(ImmutableMap.java:378)
	at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:372)
	at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:246)
	at com.google.common.collect.RegularImmutableMap.fromEntryArrayCheckingBucketOverflow(RegularImmutableMap.java:133)
	at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:95)
	at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:572)
	at com.google.common.collect.ImmutableMap$Builder.buildOrThrow(ImmutableMap.java:600)
	at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:587)
	at com.starrocks.sql.optimizer.transformer.RelationTransformer.visitTable(RelationTransformer.java:607)
	at com.starrocks.sql.optimizer.transformer.RelationTransformer.visitTable(RelationTransformer.java:162)
	at com.starrocks.sql.ast.TableRelation.accept(TableRelation.java:201)
	at com.starrocks.sql.ast.AstVisitor.visit(AstVisitor.java:105)
	at com.starrocks.sql.ast.AstVisitor.visit(AstVisitor.java:101)
	at com.starrocks.sql.optimizer.transformer.QueryTransformer.planFrom(QueryTransformer.java:170)
	at com.starrocks.sql.optimizer.transformer.QueryTransformer.plan(QueryTransformer.java:84)
	at com.starrocks.sql.optimizer.transformer.RelationTransformer.visitSelect(RelationTransformer.java:290)
	at com.starrocks.sql.optimizer.transformer.RelationTransformer.visitSelect(RelationTransformer.java:162)
	at com.starrocks.sql.ast.SelectRelation.accept(SelectRelation.java:232)
	at com.starrocks.sql.ast.AstVisitor.visit(AstVisitor.java:105)
	at com.starrocks.sql.ast.AstVisitor.visit(AstVisitor.java:101)
	at com.starrocks.sql.optimizer.transformer.RelationTransformer.transform(RelationTransformer.java:228)
	at com.starrocks.sql.InsertPlanner.plan(InsertPlanner.java:285)
	at com.starrocks.sql.StatementPlanner.planInsertStmt(StatementPlanner.java:262)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.prepareRefreshPlan(PartitionBasedMvRefreshProcessor.java:583)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedView(PartitionBasedMvRefreshProcessor.java:521)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry(PartitionBasedMvRefreshProcessor.java:430)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doMvRefresh(PartitionBasedMvRefreshProcessor.java:382)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.processTaskRun(PartitionBasedMvRefreshProcessor.java:215)
	at com.starrocks.scheduler.TaskRun.executeTaskRun(TaskRun.java:352)
	at com.starrocks.scheduler.TaskRunExecutor.lambda$executeTaskRun$0(TaskRunExecutor.java:60)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doRefreshMaterializedViewWithRetry(PartitionBasedMvRefreshProcessor.java:450)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.doMvRefresh(PartitionBasedMvRefreshProcessor.java:382)
	at com.starrocks.scheduler.PartitionBasedMvRefreshProcessor.processTaskRun(PartitionBasedMvRefreshProcessor.java:215)
	at com.starrocks.scheduler.TaskRun.executeTaskRun(TaskRun.java:352)
	at com.starrocks.scheduler.TaskRunExecutor.lambda$executeTaskRun$0(TaskRunExecutor.java:60)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
k
check mv
mv_delivery_tracking_pageview
u
There is no 'brand_id' related stuffs in mv_delivery_tracking_pageview
Copy code
> show create materialized view mv_delivery_tracking_pageview;

| mv_delivery_tracking_pageview | CREATE MATERIALIZED VIEW `mv_delivery_tracking_pageview` (`event_id`, `bp_cid`, `bp_sid`, `bp_aid`, `bp_p_type`, `bp_a_name`, `bp_s_country`, `bp_locale`, `bp_m_ver`, `ohouse_user_id`, `page_id`, `page_params`, `category`, `event_params`, `event_date`, `event_time`)
COMMENT "MATERIALIZED_VIEW"
PARTITION BY (date_trunc('hour', `event_time`))
DISTRIBUTED BY HASH(`event_id`)
ORDER BY (event_id,event_time)
REFRESH ASYNC
PROPERTIES (
"replicated_storage" = "true",
"replication_num" = "1",
"partition_ttl_number" = "720",
"auto_refresh_partitions_limit" = "100",
"partition_refresh_number" = "1",
"datacache.enable" = "true",
"enable_async_write_back" = "false",
"storage_volume" = "builtin_storage_volume",
"warehouse" = "default_warehouse"
)
AS SELECT `raw_event`.`event_id`, `raw_event`.`bp_cid`, `raw_event`.`bp_sid`, `raw_event`.`bp_aid`, `raw_event`.`bp_p_type`, `raw_event`.`bp_a_name`, `raw_event`.`bp_s_country`, `raw_event`.`bp_locale`, `raw_event`.`bp_m_ver`, `raw_event`.`ohouse_user_id`, `raw_event`.`page_id`, `raw_event`.`page_params`, `raw_event`.`category`, `raw_event`.`event_params`, `raw_event`.`event_date`, `raw_event`.`server_access_time` AS `event_time`
FROM `uba`.`raw_event`
WHERE ((1 = 1) AND (`raw_event`.`page_id` = 'DELIVERY_TRACKING')) AND (`raw_event`.`category` = 'PAGEVIEW'); |
u
docs
Copy code
SELECT flat_json_meta(event_params)
FROM uba.raw_event[_META_];
...

CAST(json_query(event_params, '$.brand_id') AS VARCHAR),
CAST(json_query(event_params, '$."Brand_Id"') AS VARCHAR),
CAST(json_query(event_params, '$.brandId') AS VARCHAR)
I think it would be a good idea to check for key coexistence like this.
u
I'd try that but same error occurred.
Copy code
StarRocks > SELECT flat_json_meta(event_params) FROM uba.raw_event[_META_];
ERROR 1064 (HY000): Multiple entries with same key: `event_params.brand_id` varchar NULL COMMENT ""=36: event_params.brand_id and `event_params.brand_id` varchar NULL COMMENT ""=35: event_params.brand_id
Is there any way to manauly inspect tablet data or metadata (currently data is stored in s3, in which shared data cluster)
k
have you tried disable or drop the mv and will the query still fail?
u
Yes, I removed materialized view and select above table, still report error
k
doesn't make sense, may need to open a github issue, have someone to take a look.
u
Okay I'll post it.