WSo2 EMM - 应用程序管理数据库错误

WSo2 EMM - App Management Database Bug

运行 WSo2 EMM 1.1.0,除一个大问题外一切正常。

从我第一次点击应用程序管理选项卡中的应用程序的那一刻起,只要服务器是 运行,WSO2EMM_DB.h2.db 文件就开始稳步增长,即使绝对没有变化。最终,它变得如此之大,以至于单击该选项卡上的应用程序需要花费非常长的时间才能加载使用该应用程序的设备列表。我们谈了 5 分钟以上,它变得完全无法使用。我检查了错误日志,每次都没有发现任何错误。

重新启动服务器无法解决问题。即使我在“应用程序管理”选项卡上单击一次应用程序,并且再也不会单击该应用程序,数据库文件仍会继续增长。即使重启服务器,不登录EMM页面,它也会继续增长。

到目前为止我发现的唯一可能有用的方法是保留数据库文件的备份副本并在当前文件变得太大时覆盖它。显然这不是解决方案,因为每次服务器发生变化时我都需要创建一个新的备份文件,最终数据库文件也会因此变得太大。

这也不是 H2 数据库的问题。我不仅尝试重新开始几次并且有相同的行为,而且 here 是我能找到的关于这个问题的唯一信息,而且无论它是否在 H2 或MySQL.

一个多月以来,我一直在努力寻找解决方案,但没有成功。如有任何帮助,我们将不胜感激!

编辑: 看起来这可能是 EMM-826 的主题。不幸的是,到目前为止似乎没有对该错误报告的回应。

编辑 2: EMM-826 已关闭,消息如下:

This issue is fixed in the EMM 1.1.0 GA latest pack. Please get all the patches for the product/build the product from the latest source [ https://github.com/wso2/product-emm ] and try again.

不幸的是,这对我不起作用。我不确定我到底做错了什么,所以我将列出我为修复它所做的工作:

  1. 已从 http://wso2.com/products/enterprise-mobility-manager/ 下载 EMM 1.1.0 zip。

  2. https://github.com/wso2/product-emm 下载了 zip 并将其中的文件粘贴到我的 EMM_HOME 目录中。

  3. 当这不起作用时,我搜索了补丁,发现我只使用了补丁 1-6。在文档中我发现我可以下载补丁 7-12 here。由于某些原因,补丁 9 和 10 无法正常运行;导致我无法访问 EMM 控制面板或发布者。我只能访问 Carbon 管理器。不过,我能够使补丁 7、8、11 和 12 正常工作 - 行为没有变化。

以下是我为重现该问题所采取的步骤:

  1. 设置 EMM 的新副本后,我以管理员身份登录到 EMM 仪表板,设置用户帐户,并通过 Publisher 上传应用。

  2. 将设备注册到我设置的用户帐户。在这种情况下,Android 设备 运行 Android 4.2.2.

  3. 在控制面板中,我转到“应用程序管理”并单击我上传的应用程序。设备列表加载,但从那时起,数据库文件开始增长,最终,在几个小时后,变得如此之大以至于设备列表永远不会加载。

请帮忙!

问题似乎已在 EMM 2.0 中得到解决,可在 here.

中找到

也发现了这种情况,一看就是WSO2EMM_DB.notificationstable。似乎随着时间的推移保留了所有通知的历史记录,并且应用程序安装的信息来自未优化的查询,这些查询随着 table 的增长而降低。您 'could' 从 table 中删除所有行,它将重新填充为设备 'check back' 并报告它们的信息。

但是您可能想要编写一个查询来仅保留每个用户的每种类型的最新通知(我会把它留给其他人...)并且如前所述,它显然已修复最新版本。