Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I get an opcode error when trying to connect to a vanilla mongodb docker container from windows robo3t

I'm using Windows 10 to develop Linux applications using Docker for Windows. I'm also using docker-compose. When I try to connect to a vanilla MongoDB 4.1 image from my Windows Robo 3T client, I get this peculiar error.

docker-compose.yml

version: "3"
services:
  myapp-db:
    image: mongo:4.1
    ports:
      - 27017:27017
    networks:
      - myapp-net
    volumes:
      - vol-myapp-db:/data/db
    restart: always

networks:
  myapp-net:

volumes:
  vol-myapp-db:

When I run this configuration I get the following error only when I attempt to connect with Robo3T.

stdout:

$ docker-compose up --build

myapp-db_1          | 2019-02-16T02:59:05.825+0000 I NETWORK  [listener] connection accepted from 172.18.0.1:42622 #1 (1 connection now open)
myapp-db_1          | 2019-02-16T02:59:05.826+0000 I NETWORK  [conn1] received client metadata from 172.18.0.1:42622 conn1: { application: { name: "robo3t" }, driver: { name: "MongoDB Internal Client", version: "3.4.3-10-g865d2fb" }, os: { type: "Windows", name: "Microsoft Windows 8", architecture: "x86_64", version: "6.2 (build 9200)" } }
myapp-db_1          | 2019-02-16T02:59:05.828+0000 E -        [conn1] Assertion: Location34348: cannot translate opcode 2010 src/mongo/rpc/message.h 121
myapp-db_1          | 2019-02-16T02:59:05.828+0000 I NETWORK  [conn1] DBException handling request, closing client connection: Location34348: cannot translate opcode 2010
myapp-db_1          | 2019-02-16T02:59:05.828+0000 I NETWORK  [conn1] end connection 172.18.0.1:42622 (0 connections now open)

Anyone have an idea what's going on here?

like image 1000
Dan Avatar asked Feb 16 '19 03:02

Dan


1 Answers

I used to have the same error with robo 3T 1.2.1

I updated the robo 3T version to 1.3 and it worked again,
which uses the MongoDB Internal Client 4.0:

{ 
  application: { name: "MongoDB Shell" },   
  driver: { name: "MongoDB Internal Client", version: "4.0.5-17-gd808df2233" }
} 

But as stated on their website they only recommend up to Mongo 4.0.

Robo 3T 1.3 brings you support for MongoDB 4.0 and SCRAM-SHA-256, an upgraded mongo shell, support for importing from MongoDB SRV connection strings, among many other fixes and improvements.

So i recommend using Studio 3T.

like image 189
domiSchenk Avatar answered Oct 12 '22 15:10

domiSchenk