【发布时间】:2019-01-31 02:20:30
【问题描述】:
考虑升级 Kubernetes 部署,同时停止旧 pod 并启动新 pod。我们有运行 tomcat 的 pod,连接到 MySQL 数据库。
一旦tomcat收到停止命令,它就会开始停止应用程序。但是,仍然有任务在运行并且失去与数据库的连接会导致抛出大量异常。没关系,因为应用程序不再执行任何操作。我的问题是,这会向我们的日志“垃圾邮件”发送致命错误,并且很难区分哪些异常是相关的,哪些是由应用程序停止引起的。
其中一个例外是:
java.lang.IllegalStateException:非法访问:此 Web 应用程序 实例已经停止。不能加载 [sun.reflect.NativeMethodAccessorImpl]。以下堆栈跟踪是 抛出用于调试目的以及尝试终止 导致非法访问的线程。
有没有办法防止记录此类异常?是否可以在发出停止信号后立即停止记录?
【问题讨论】:
标签: kubernetes google-kubernetes-engine stackdriver google-cloud-stackdriver