runner36 / rock-php

Automatically exported from code.google.com/p/rock-php
0 stars 0 forks source link

Incompatibility with MongoDB 2.4 #240

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
After upgrading to MongoDB 2.4.0, the menu on the left side and the list of 
databases both show the following error message:

   MongoDB::__construct(): invalid name $SERVER

Tested with RockMongo Version 1.1.5

Operation System: Ubuntu 

PHP Version 5.3.10

php_mongo Version (1.0.9, ...)

Original issue reported on code.google.com by abelss...@gmail.com on 21 Mar 2013 at 6:23

GoogleCodeExporter commented 8 years ago
I have a slightly different error:
   MongoDB::__construct(): invalid name $CLUSTER

It works fine with standalone MongoDB server.
Error is shown on Replica Set

Mongod is started with --auth --rest --replSet --keyFile

Version     1.1.5
Web server  Apache/2.2.22
PHP version PHP 5.3.10-1ubuntu3.5
PHP extension   mongo/1.3.5

Original comment by matts...@gmail.com on 23 Mar 2013 at 8:26

GoogleCodeExporter commented 8 years ago
Follow up of my comment above:

I create a new ReplicaSet from scratch (with no data) using the just-released 
2.4.1. Rockmongo works fine.

So I decided to upgrade the Replica Set from 2.4.0 to 2.4.1, Rockmongo still 
doesn't work. So this error happens in both 2.4.0 and 2.4.1.

Original comment by matts...@gmail.com on 24 Mar 2013 at 3:11

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hey Dr. Sven Abels and everyone else, I think I found the solution.

During the MongoDB upgrade, some empty databases were created (I don't know why 
though).
In my case, two databases with name '$CLUSTER' and 'config' were created. And 
Rockmongo didn't like the '$' in the database name.

In your case, you must have a database named '$SERVER', go have a look via 
mongo shell. I removed the one I had ($CLUSTER) and Rockmongo runs fine now!

It will look like this
> show dbs
     (this should list out your databases, $SERVER should be shown here)

> use $SERVER
switched to db $SERVER

> db.dropDatabase()
{ "dropped" : "$SERVER", "ok" : 1 }

Hope this fixes for you.

Original comment by matts...@gmail.com on 24 Mar 2013 at 5:34

GoogleCodeExporter commented 8 years ago
Great. This has solved the problem, indeed. :-)

Thanks a lot for your help.

Best greetings,

Sven

Original comment by abelss...@gmail.com on 24 Mar 2013 at 10:26

GoogleCodeExporter commented 8 years ago
Same error : 
RockMongo Version 1.1.5
Operation System: Debian
PHP Version 5.2.17
php_mongo Version (1.3.5)

I solved the problem by adding this line in Rockmongo config.php :

$MONGO["servers"][$i]["ui_hide_dbs"] = '$CLUSTER,$SERVER';//databases to hide

Original comment by ghislain...@gmail.com on 25 Mar 2013 at 2:37

GoogleCodeExporter commented 8 years ago
The $* empty database keeps coming back after I delete it. Does anyone know 
what the scoop is with Mongo 2.4?

For now I will use the ui_hide_dbs tricks. Thank you Ghislain!

Original comment by matts...@gmail.com on 25 Mar 2013 at 4:11

GoogleCodeExporter commented 8 years ago
As stated above you can add the DBs to the list and change the quotation marks 
to a single inverted comma which will cancel out the variable parsing or you 
can add a \ before the dollar sign. Either should work.

$MONGO["servers"][$i]["ui_hide_dbs"] = "\$CLUSTER,\$SERVER";//databases to hide

Original comment by gerric.c...@gmail.com on 15 Apr 2013 at 1:37