JDBC 物化视图 更新问题

JDBC 物化视图 更新问题

【详述】创建了两个 mysql 服务的catalog, 一个是生产环境的mysql, 一个是测试环境的mysql
有一个表 nameid_homeid_tvid_map, 每天先更新正式库, 然后同步到测试环境。
我在sr上建了两个基于nameid_homeid_tvid_map的 物化视图,一个基于生产环境,一个基于测试环境。
现在基于测试环境的视图可以正常更新, 基于生产环境的物化视图不更新数据

【背景】3.2.2 是由 3.1.5 升级过来的, 3.1.5 的时候jdbc 物化视图就不能正常更新
【业务影响】 无法基于jdbc 建物化视图
【是否存算分离】是
【StarRocks版本】3.2.2
【集群规模】fe +be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【附件】
测试环境视图:
CREATE MATERIALIZED VIEW nameid_homeid_tvid_map_test (nameid, home_id, channelType, channel, tv_id, home_url, index, video_type, indexText, isVip, duration, updateDate, isFiltered, createTime)
COMMENT “MATERIALIZED_VIEW”
DISTRIBUTED BY RANDOM
REFRESH ASYNC START(“2023-07-01 10:00:00”) EVERY(INTERVAL 1 HOUR)
PROPERTIES (
“replicated_storage” = “true”,
“replication_num” = “1”,
“datacache.enable” = “true”,
“enable_async_write_back” = “false”,
“storage_volume” = “builtin_storage_volume”
)
AS SELECT nameid_homeid_tvid_map.nameid, nameid_homeid_tvid_map.home_id, nameid_homeid_tvid_map.channelType, nameid_homeid_tvid_map.channel, nameid_homeid_tvid_map.tv_id, nameid_homeid_tvid_map.home_url, nameid_homeid_tvid_map.index, nameid_homeid_tvid_map.video_type, nameid_homeid_tvid_map.indexText, nameid_homeid_tvid_map.isVip, nameid_homeid_tvid_map.duration, nameid_homeid_tvid_map.updateDate, nameid_homeid_tvid_map.isFiltered, nameid_homeid_tvid_map.createTime
FROM mysql_test.enlightent_daily.nameid_homeid_tvid_map;
生产环境视图:
CREATE MATERIALIZED VIEW nameid_homeid_tvid_map_prod (nameid, home_id, channelType, channel, tv_id, home_url, index, video_type, indexText, isVip, duration, updateDate, isFiltered, createTime)
COMMENT “MATERIALIZED_VIEW”
DISTRIBUTED BY RANDOM
REFRESH ASYNC START(“2023-07-01 10:00:00”) EVERY(INTERVAL 1 HOUR)
PROPERTIES (
“replicated_storage” = “true”,
“replication_num” = “1”,
“datacache.enable” = “true”,
“enable_async_write_back” = “false”,
“storage_volume” = “builtin_storage_volume”
)
AS SELECT nameid_homeid_tvid_map.nameid, nameid_homeid_tvid_map.home_id, nameid_homeid_tvid_map.channelType, nameid_homeid_tvid_map.channel, nameid_homeid_tvid_map.tv_id, nameid_homeid_tvid_map.home_url, nameid_homeid_tvid_map.index, nameid_homeid_tvid_map.video_type, nameid_homeid_tvid_map.indexText, nameid_homeid_tvid_map.isVip, nameid_homeid_tvid_map.duration, nameid_homeid_tvid_map.updateDate, nameid_homeid_tvid_map.isFiltered, nameid_homeid_tvid_map.createTime
FROM mysql_cluster.enlightent_daily.nameid_homeid_tvid_map;

经过查看 sr mv refresh 代码, 发现使用 information_schema.partitions 表的updatetime 字段获取更新时间, mysql 在 5.7.8 以后才修复 updatetime 为null的问题, 我们的mysql是5.6.4 太老了, 无法满足。