kstream中的数据,如果不被消费,会有一个有效期,超过这个时间会自动失效。那如果KTable t1 = builder.table("topic_name") ;这个ktable中的数据一直不被消费,会失效吗?
这个我还真没试过,靠你来验证了。
理论上更新也是有时间戳的,过了时间戳的数据会依照策略来执行。但是不清楚流更新这种会不会例外,还是遵循策略。
我实验了一下,在 stream 中关联ktable,如果stream 程序不重启,则该stream会一直持有这个table中的变化,并保证这种关联有效;
如果重启,则在启动的时候报一个错误,说的是 offset 不一致。然后正常运行,并丢失之前保存的ktable数据,如果这个时候再进行关联,则无法关联。
如果有其他人有不同的实验结果,欢迎交流~
是过了有效期进行的重启吗?
是的
ok,感谢分享。
你的答案