- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有 700M 行/1.3TB MongoDB 实例,版本 1.6.3。我尝试使用 copyDatabase
命令将其复制到新的 2.0 实例。
“只是复制”用了 2 小时完成。但在那之后,新的 MongoDB 集合被锁定并且 db.currentOp()
返回以下结果。
{
"opid" : 5,
"active" : true,
"lockType" : "write",
"waitingForLock" : false,
"secs_running" : 22138,
"op" : "query",
"ns" : "nerv",
"query" : {
"copydb" : 1,
"fromhost" : "<some host>",
"fromdb" : "<some db>",
"todb" : "<some db>"
},
"client" : "127.0.0.1:50689",
"desc" : "conn",
"threadId" : "0x7f5094005700",
"connectionId" : 1,
"msg" : "index: (2/3) btree bottom up 214887968/715742197 30%",
"progress" : {
"done" : 214887968,
"total" : 715742197
},
"numYields" : 5591738
},
我等了大约 5 个小时,看来这不会在 24 小时内结束。我必须等待这个还是有其他选择? (就像在后台运行索引创建一样,与 ensureIndex
一样)
已添加)感谢您的回答,Adam C。然后我想问您更多:)
index: (2/3) btree bottom up
在做什么,为什么这么慢?index: (3/3)
消息。 (3/3)
和 (2/3)
一样慢吗?最佳答案
除了次要的问题,索引构建可以在后台完成,但我认为不能作为副本的一部分:
http://www.mongodb.org/display/DOCS/Indexing+as+a+Background+Operation
您可以 fsync 并锁定(或暂时关闭)1.6.3 数据库,然后复制数据文件。文件格式在 1.6.3 和 2.0.6 之间没有变化,所以如果您启动 2.0.6 实例并将其指向复制文件的适当路径,您应该可以继续了。
就后续作品而言,这有点超出我目前的知识范围,但我会尝试找出答案。我可以说相关代码在这里:
https://github.com/mongodb/mongo/blob/master/src/mongo/db/index_update.cpp#L219
看起来您正处于创建实际索引数据结构的 btree 构建阶段(在读取/插入之后)阶段,最后一 block 与提交相关。此处很难确定确切的时间,但如果您已经运行了一段时间,很可能值得让它完成。
如果这是我的选择,我会有一个 B 计划并并行运行数据文件的副本,假设这是可能的。如果索引构建先完成,则终止文件传输。
更新:我在研究另一个问题时意识到,当被索引的集合比 RAM 大得多时,最高 2.0.6 的版本中存在一个错误。它表现为前台索引的第 2 阶段(您正在做的事情)花费了很长时间,并且页面错误率大幅增加。
该错误已在 2.0.7 中修复(截至撰写此答案时,可作为候选发布版使用)。所以,如果其他人遇到这个问题,或者最初的问题所有者遇到这个问题,请确保您尝试使用 2.0.7+
关于MongoDB copyDatabase 在前台而非后台运行索引创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11649767/
我正在关注 Android guide在媒体播放器应用程序中使用 MediaBrowserServiceCompat,但该服务在应用程序退出时被销毁。
我使用System.Windows.Window.IsActive来检测窗口是否位于前台,并且在某些情况下有效。但我发现了一些情况,它没有,我想知道是否有任何方法可以检测到它。 最佳答案 除非仅后台进
我需要为 EditText 的一部分设置样式。我希望文本为白色,背景为灰色。看起来很简单,但事实并非如此。 spanRange.setSpan(new BackgroundColorSpan(Colo
我决定在一个帖子中发布两个问题,因为这是完全相同的问题。 我需要知道屏幕何时打开或关闭,以便我可以打开 LED。第二个我需要知道我的应用程序是在后台还是在前台,以便在应用程序处于后台时管理在某些操作上
关于双高红色录音状态栏有很多问题( here , here ),但是当应用程序退出到后台时,所有这些问题都引用闪烁。我得到了一个闪光,我假设来自 AVCaptureSession设置,而应用程序在前台
我有一个奇怪的案例。我的 swift ios 应用程序已连接到 Cloudkit。如果应用程序未运行(后台状态),我每次都会收到通知徽章和警报!如果应用程序正在运行,则不会收到任何通知!我知道它没有击
我是 firebase 和 android 的新手,我想在我的应用程序中包含实时聊天。但我对 firebase 有以下疑问。请帮忙。 1) 如果应用程序在前台,系统托盘中是否会有默认通知,还是我必须在
我正在为 Excel 编写 VSTO 加载项,我注意到,如果我锁定工作表并使用密码保护它(因此只有我的加载项可以写入它,但用户可以查看它),如果用户尝试编辑工作表时,他们收到“此工作表已锁定”弹出窗口
我正在开发一个 iOS 应用程序,此应用程序允许其用户添加他稍后必须执行的任务。完成添加此任务后,它将发送到服务器以保存在服务器端。现在我对某些情况感到困惑:我的用户在输入任务详细信息时有什么电话..
我正在阅读内存不足 (OOM) killer ,以及 Android 如何确定进程的优先级 (https://developer.android.com/guide/components/proces
我已经在我的新应用程序中启动了一项服务。该服务是前台的,带有通知。当它在 AVD 2.1 API Level 7 中运行时,一切正常。但是当它在运行 Gingerbread 的 Samsung Gal
我的 Laravel 应用程序的结构需要帮助。 我想要的基本上是这个结构: 应用程序接口(interface) 管理面板 公共(public)网站 我开始构建我认为非常正确的文件夹结构: app/
我正在尝试用 CardView 填充我的 RecyclerView,CardView 使用 Android 数据绑定(bind)来设置属性,例如 TextView 中的文本。在未完成喷射的项目上,我想
我想使用 Window Script Host(WSH) 查找当前事件(具有焦点)的窗口的标题,因为我希望我的 WSH 脚本仅在所需窗口处于事件状态时才发送键。 注意*我无法使用替代方案,即在调用 s
如何调试 react-scripts 启动? 这工作正常,我不知道发生了什么变化(我没有改变任何东西) 看来 react-scripts start 无法作为前台进程继续运行。 我的 Dockerfi
我想制作像endonmondo那样的秒表。当我们启动应用程序时,它应该计算时间并更新主 Activity 中的textView(实际上它是一个 fragment )。 我做了后台服务(如 here )
我遇到了一个需求,但我无法获得正确的实现方式,因此需要您的帮助。 我想做什么? - 我想根据收到的通知执行操作,如下所示: 当应用程序打开并位于前台时,即对用户可见并且我收到通知时,我只是显示一个弹出
在 Android 10 中,我注意到我从操作系统收到一条 Toast 消息,说明“此 NFC 标签不支持应用程序”或“此 NFC 标签不支持应用程序”(取决于设备): 奇怪的是,我在 enableR
我是一名优秀的程序员,十分优秀!