Hi, Join算子的state是支持清理的。 可以提供下以下信息: - Flink 版本 - planner (blink planner / old planner)
op <520075...@qq.com> 于2020年6月10日周三 下午4:08写道: > hi, > 写了个测试程序: > > ...... > > val tConfig = bstEnv.getConfig > > confg.withIdleStateRetentionTime(Time.minutes(10),Time.minutes(25)) > > ...... > > val q1=bstEnv.sqlQuery( > """select createTime,feedid from source > |where circleName is not null > |and circleName not in('','_') > |and action = 'C_FEED_EDIT_SEND' > |""".stripMargin) > > > bstEnv.createTemporaryView("sourcefeed",q1) > val q2=bstEnv.sqlQuery( > """select feedid,postfeedid,action from source > |where circleName is not null > |and circleName not in('','_') > |and action in('C_PUBLISH','C_FORWARD_PUBLISH') > |""".stripMargin) > > bstEnv.createTemporaryView("postfeed",q2) > bstEnv.sqlQuery( > """ > |select count(b.postfeedid) from > |sourcefeed a > |join postfeed b > |on a.feedid=b.postfeedid > """.stripMargin).toRetractStream[Row](confg).print("") > > > //------------------------------------ > > 程序里面设置了状态失效最晚时间是空闲25分钟,但是运行了几天了,我再web上观察到的状态一直再不断增加,可以确定关联的id最多只会活跃1个小时左右,请问是哪里没设置对还是join两边的state不支持清理? > >