Tokutek / mongo

TokuMX is a high-performance, concurrent, compressing, drop-in replacement engine for MongoDB | Issue tracker: https://tokutek.atlassian.net/browse/MX/ |
http://www.tokutek.com/products/tokumx-for-mongodb/
704 stars 97 forks source link

Debian installer overwrites mongodb, really, why? #1223

Open mpeteriii opened 9 years ago

mpeteriii commented 9 years ago

Hi Guys,

I just wanted to give tokudb a try and installed it from the debian repository following the instructions at http://www.tokutek.com/tokumx-for-mongodb/download-community/ The page does not mention at all that the package will just overwrite the existing mongo installation.. I consider this to be a very-very bad practice. Luckily (?) I was using the same mongo version that is (claimed to be) packed with toku but for someone who is using the newer mongo engine it may (?) cause problems (corrupt db..?)... Please consider a less intrusive way to set up the packages so mongo and toku could co-exist on the same machine (and be installed/updated with apt). This is a very-very bad practice to just change the mongo executables W/o any significant warning. No package should mess with other packages exacutables in such a way.

esmet commented 9 years ago

They're different distributions of the same thing, mongod.

Sent from my iPhone

On Apr 22, 2015, at 3:22 PM, mpeteriii notifications@github.com wrote:

Hi Guys,

I just wanted to give tokudb a try and installed it from the repository following the instructions at http://www.tokutek.com/tokumx-for-mongodb/download-community/ The page does not mention at all that the package will just overwrite the eyisting mongo installation.. I consider this to be a very-very bad practice. Lucily I was using the same mongo version that is packed with toku but womeone who is using the newer mongo engine it may cause problems (corrupt db..?)... Please consider a less intrusive way to set up the packages so mongo and toku could live on the same machine (andd installed/updated with apt). This is a very-very bad practice to just remove mongo W/o significant warning.

— Reply to this email directly or view it on GitHub.

mpeteriii commented 9 years ago

To my understanding this is not true. Tokumx is not the same thing as mongodb, toku is much more like a software implementing the same protocol/interface as mongodb, but it can't read the same db, so it should not replace the existing mongo installation, especially not w/o a fullscreen red warning screen. This also makes benchmarking the 2 against each other more difficult (if you have 1 machine) and you can't really try toku w/o taking down your mongodb.

esmet commented 9 years ago

It's a fork, including the binary names, installation paths, etc.

On Wed, Apr 22, 2015 at 3:41 PM, mpeteriii notifications@github.com wrote:

To my understanding this is not true. Tokumx is not the same thing as mongodb, toku is much more like a software implementing the same protocol/interface as mongodb, but it can't read the same db, so it should not replace the existing mongo installation, especially not w/o a fullscreen red warning screen. This also makes benchmarking the 2 against each other more difficult (if you have 1 machine) and you can't really try toku w/o taking down your mongodb.

— Reply to this email directly or view it on GitHub https://github.com/Tokutek/mongo/issues/1223#issuecomment-95313594.

leifwalsh commented 9 years ago

There is a package conflict already, which is the right way to handle this situation, and you'll get warnings if you have apt configured properly. You should read the installation docs that explain the process: http://docs.tokutek.com/tokumx/tokumx-installation-packages.html#tokumx-installation-packages-ubuntu

mpeteriii commented 9 years ago

The fact that it is a fork does not mean that you shouldn't be able to have the 2 on the same machine at once, I see reason why it would be a problem if someone would like to have both, listening on different ports. I think the prudent approach would be to provide a package explicitly named takumx-dropin or sg like this that replaces mongo (and conflict with it) but the normal package shouldn't. leifwalsh http://docs.tokutek.com/tokumx/tokumx-installation-packages.html#tokumx-installation-packages-ubuntu is nice, but the official download page where the download button takes you from the toku page does not mention at all that the the mongo executables will be overwritten (and there is no sane reason to expect it). And yes, apt probably warned me, but raise your hand if you have never missed apt's this and that will be removed line when it lists a myriad of packages to be installed and asks for a "y" and you have no reason to expect anything to be removed :)

I understand that the tokumx package has already been introduced and won't be changed but a tokumx-standalone (or sg like that) package version would be useful.

This is just my 4c to make it more user friendly.

leifwalsh commented 9 years ago

You can install the tarball in any directory if you want something standalone. This doesn't need further discussion.

mpeteriii commented 9 years ago

Yes I can and I will be unnecessarily forced to do this (and go w/o auto updates) as I said in the first post. At least refer to this thing on the official DL page so noone will be surprised. This (to deliberately make the package collide with mongod) was a bad design decision which hampers the adoption of tokumx, at least in some environments. I also consider the thread closed.

qfox commented 9 years ago

@mpeteriii Well, did you tried to install several nginxs or apaches via apt-get? Agreed with @leifwalsh and @esmet. You've asking about a support for unusual case that can be solved via VMs, or Docker, or tar+make install, but not via aptitude/yum.

upd

Debian installer overwrites mongodb, really, why?

Because:

TokuMX is a high-performance, concurrent, compressing, drop-in replacement engine for MongoDB

What you expect of "drop-in replacement"?