小编den*_*lah的帖子

C#mongodb驱动程序2.2.3如何为游标设置batchSize

我正在使用MongoDB 2.2.3的官方C#驱动程序

如何使用C#驱动程序为光标设置批量大小?

使用javascript我可以创建一个游标并为其设置批量大小:

var cursor = db.statistics.find(query).batchSize(100)
Run Code Online (Sandbox Code Playgroud)

我可以使用以下语句遍历所有项目:

while(cursor.objsLeftInBatch()>0){
    var doc = cursor.next();
    //process doc
}
Run Code Online (Sandbox Code Playgroud)

我想在C#中使用async/await支持具有相同的行为.我知道我可以使用C#中的游标,但它的默认批量大小是4MB.这太匹配了,无法通过一次调用返回客户端.

c# mongodb mongodb.driver

8
推荐指数
1
解决办法
4317
查看次数

-XX:+ExitOnOutOfMemoryError 在“java.lang.OutOfMemoryError: Direct buffer memory”上被忽略

如果OutOfMemoryError是由分配直接字节缓冲区引起的,-XX:+ExitOnOutOfMemoryError则忽略JVM 标志。

检查 Oracle JDK 和 OpenJDK Java 版本“1.8.0_144” Java(TM) SE 运行时环境(构建 1.8.0_144-b01)Java HotSpot(TM)64 位服务器 VM(构建 25.144-b01,混合模式)

操作系统:Ubuntu 16.04

重现运行以下代码

package com.company;
import java.nio.ByteBuffer;
public class Main {

    public static void main(String[] args) {
        // This should guarantee to throw:            
        try {
            ByteBuffer bb = ByteBuffer.allocateDirect(10485760*2);
            System.out.println("OOME not triggered");
        } catch (OutOfMemoryError err) {                
            System.out.println("OOME didn't terminate JVM!");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

虚拟机参数: -XX:MaxDirectMemorySize=10485760 -XX:+ExitOnOutOfMemoryError

程序输出“OOME 没有终止 JVM!” 并以退出代码 0 终止。我预计它会崩溃并返回大于 0 的退出代码。当OutOfMemory由于堆空间不足而抛出时,它以这种方式工作。

如果您使用 jvm …

java nio

6
推荐指数
1
解决办法
3878
查看次数

如何重置 Apache Kafka-Connect 服务器中的源连接器偏移量

从 Kafka connect 中删除源连接器后,该连接器保存的偏移量仍然存在于 Kafka 中。当具有相同名称的相同连接器再次启动时,它将开始处理上次保存的偏移量中的数据。更改连接器的名称不是一个解决方案,因为它很难自动提交连接器。

是否有解决此问题的方法(重命名源连接器不是一个选项)

apache-kafka apache-kafka-connect

3
推荐指数
1
解决办法
2945
查看次数