当前位置: 首页 > 知识库问答 >
问题:

当您使用应用程序重置工具时,Kafka状态存储会发生什么变化?

尹光辉
2023-03-14

当您运行Kafka streams应用程序重置工具将应用程序重置为特定时间戳(例如T-n)时,状态存储会发生什么变化?

文档内容为:“内部主题:删除内部主题(这会自动删除任何提交的偏移)”(内部主题由Kafka Streams应用程序在执行状态存储的更改日志主题时在内部使用)

这是否意味着我在T-n时失去了状态存储/RocksDB的状态?

例如,假设我在该时间戳处理状态存储上的“会话窗口”。在应用程序重置期间,我可能会丢失该窗口中的所有现有数据。

有没有可能在重置应用程序时保留会话窗口的状态?换句话说,有没有办法在应用程序重置期间保留我的状态存储或RocksDB(在T-n)的状态?

共有1个答案

耿弘阔
2023-03-14

rest工具本身不会触及本地状态存储,但是,它会删除相应的变更日志主题。所以是的,你实际上失去了你的状态。

因此,为了使本地状态与变更日志保持同步,您实际上也应该删除本地状态,并从空状态开始:https://docs.confluent.io/current/streams/developer-guide/app-reset-tool.html#step-2个重置应用程序实例的本地环境

目前还不可能将状态重置为特定点atm。

唯一的“解决方法”可能是不使用rest工具,而是使用bin/kafka消费群体。sh仅修改输入主题偏移。这样可以保留变更日志主题和本地状态存储。然而,当你重新启动应用程序时,状态当然会处于最后一个状态。不确定这是否可以接受。

 类似资料:
  • 编辑问题,以包括所需的行为、特定问题或错误,以及重现问题所需的最短代码。这将帮助其他人回答这个问题。 我们知道:load with memory_order_acquire,store with memory_order_release但是,我发现用gcc4.8.2,open -O2时,抛出了一个编译错误,/usr/include/c/4 . 8 . 2/atomic:199:9:error:对于

  • 问题内容: 在过去的一年中,我听说有关Scala语言的炒作越来越多。我知道有几个现有项目计划将Scala支持与IDE集成在一起。但是,并不总是很清楚集成到底有多好。 他们当前是否支持Intellisense以及Eclipse和Netbeans是否支持Java语言?他们还支持即时验证吗? 问题答案: 我不能亲自谈谈IntelliJ或NetBeans插件的稳定性(尽管我听过很多好消息),但是用于Ecl

  • 来自文档:http://docs.python.org/2/library/thread 让我们在这里只讨论非守护进程线程。因为第一个引号没有特别提到非守护进程线程,所以我假设,如果主线程退出,即使是非守护进程线程也应该被杀死。然而,第二句引文却表明了另一种情况。事实上,当主线程退出时,非守护进程线程确实不会被杀死。那么,这里的第一个引用有什么意义呢?

  • 我有一个服务,它首先创建一个新的意图,并在其上调用。在此之后,我调用。然后调用(没有传递标志),并将挂起的意图传递给AlarmManager。 但在警报触发之前(甚至之后),我创建了另一个意图,并再次调用,但不设置任何附加内容。然后再次将其传递给。但是,这次我在PendingIntent上调用,以便立即接收intent。 我所观察到的是,最初的临时演员是以新的意图交付的。我似乎可以一遍又一遍地这样

  • 我正在开发一个应用程序,它可以与服务器对话,并且有一个登录屏幕。我使用httpconnection与服务器通信(服务器返回Json响应)。我的登录屏幕发送电子邮件和密码,这是由服务器验证的——服务器发送cookie,并期望cookie与每个进一步的请求一起知道用户已登录。 我使用Cookiemanager和cookie处理程序来启用会话,这样用户只需登录一次。 在我的主活动中使用以下2个命令(在创

  • 问题内容: 在下面的Java示例中,谁能确切解释为什么程序输出为“ Orange”?(这是一个面试问题) 问题答案: 变量Y掩盖了类型Y。请参见JLS: 6.4.2。遮盖 简单名称可能出现在可能被解释为变量,类型或包的名称的上下文中。在这些情况下,第6.5节的规则指定将优先于类型选择变量,并优先于包选择类型。因此,有时可能无法通过其简单名称引用可见类型或程序包声明。我们说这样的声明是模糊的。 合格