programing

왜 java.lang으로 끝나는 거지?잘못된 인수Casbah / Java MongoDB 드라이버에 대한 예외?

powerit 2023. 5. 13. 11:04
반응형

왜 java.lang으로 끝나는 거지?잘못된 인수Casbah / Java MongoDB 드라이버에 대한 예외?

다음을 사용하여 이상한 문제가 발생했습니다.casbah / java driver.

드라이버가 mongo에서 응답을 생성하려고 할 때 다음 예외가 계속 발생합니다.


  Oct 16, 2012 10:45:07 AM com.mongodb.DBTCPConnector$MyPort error
  SEVERE: MyPort.error called
  java.lang.IllegalArgumentException: response too long: 1634610484
    at com.mongodb.Response.(Response.java:40)
    at com.mongodb.DBPort.go(DBPort.java:110)
    at com.mongodb.DBPort.go(DBPort.java:75)
    at com.mongodb.DBPort.call(DBPort.java:65)
    at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:201)
    at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295)
    at com.mongodb.DBCursor._check(DBCursor.java:354)
    at com.mongodb.DBCursor._hasNext(DBCursor.java:484)
    at com.mongodb.DBCursor.hasNext(DBCursor.java:509)
    at com.mongodb.casbah.MongoCursorBase$class.hasNext(MongoCursor.scala:73)
    at com.mongodb.casbah.MongoCursor.hasNext(MongoCursor.scala:497)
    at scala.collection.Iterator$class.foreach(Iterator.scala:660)
    at com.mongodb.casbah.MongoCursor.foreach(MongoCursor.scala:497)
        ...

이것은 mongo가 쿼리에서 결과를 반환하지 않아야 하는 경우에도 무작위로 발생하는 것처럼 보입니다.보고된 크기는 일관성이 없으며 일반적으로 필요하거나 가능한 것보다 훨씬 큽니다.

저는 이것이 아마도 대응에 대한 일종의 부패라고 생각합니다.Wireshark를 사용하여 이 문제를 이해하는 데 어려움을 겪었지만 MongoDB에서 "TCP Window Full" 응답이 반환되는 쿼리로 이어지는 요청/응답 체인이 일관되게 발견되었습니다.

여기에 이미지 설명 입력

사용 중인 버전:


 Casbah: 2.1.5.0
 Mongo Java Driver: 2.5.3
 MongoDB: 2.2

제가 잠재적으로 잘못하고 있는 것에 대한 조언이나 이 문제를 추가로 디버깅하는 방법에 대한 조언을 해주시면 감사하겠습니다.

업데이트: 다음 제품에 대한 릴리스 정보를 확인한 후Casbah 2.1.5.0,사용 중인 Java 드라이버의 버전은 2.7.3이 아닌 2.5.3인 것 같습니다.

사용 중인 Java 드라이버 버전이 MongoDB 2.2와 호환되지 않습니다.2.10 이상이 아니면 2.9.3 이상을 사용해야 합니다.드라이버 업그레이드가 문제를 해결할 수 있다는 보장은 없지만 첫 번째 단계일 것입니다.

https://support.mongolab.com/entries/22631012-which-drivers-support-mongodb-2-2

당신의 JSON 물체는 얼마나 큰가요?그 큰 개체가 mongodb 버전에서 지원되는지 확인합니다.

언급URL : https://stackoverflow.com/questions/12917943/why-do-i-end-up-with-java-lang-illegalargumentexception-for-casbah-java-mongod

반응형