Comments (5)
What do you mean by compare startup options?
I think the main use case (internally) is to launch a set of nodes (repl or cluster) for a specific customer or bug/feature.
That usually means cd
into a new directory and running mlaunch
, which by default, means using the current path as dbpath.
I agree we need to show a warning if there is already a dbpath with databases in it, but not sure about exiting since it's not going to be overwritten unless an client is connecting to the db.
What about also using colors, something like this:
see also http://docs.fabfile.org/en/1.6/api/core/colors.html
from mtools.
yes, but I just happened to start mlaunch in the same directory where I started it previously but with a different configuration (sharded vs. replica set) and that doesn't go so well. In the data/ folder there is actually a hidden file called .mlaunch_startup
which contains all the startup options. We can compare that to the current startup options and see if they are compatible or not.
mlaunch --restore
by the way reads these startup options and runs them again, so you always get the same configuration.
Color would be good but I don't know how to do that. Does it require a different shell? I'd like it to work on all kinds of shells, including bash.
PS: Should open a different feature request for the color output for all command line tools.
from mtools.
Oh I didn't know we had those start options.
And yeah now I get your point. Erroring out makes sense if it was a replica node first and now you are starting a config server with the same dbpath.
But not sure how did you managed that, since the dbpaths are different:
mlaunch --single
uses:
- ./data/db
mlaunch --replicaset
uses:
- ./data/replset/rs1/db
- ./data/replset/rs2/db
- ./data/replset/rs3/db
mlaunch --sharded 2 --config 1 --single
uses these:
- ./data/shard01/db
- ./data/shard02/db
- ./data/config/db
Same for using custom path:
mlaunch --single ./crapdata
- ./crapdata/data/db
mlaunch --replicaset ./crapdata
- ./crapdata/data/replset/rs1/db
- ./crapdata/data/replset/rs2/db
- ./crapdata/data/replset/rs3/db
from mtools.
What could happen is in the case you have a replicaset with 3 nodes first and then you want 4. The fourth is not going to be added to the set and we should exit with an error message
from mtools.
This issue describes behaviour of mlaunch
pre-#148. mlaunch --restore
no longer exists and mlaunch start
will report "A different environment already exists" if you try to init into an existing environment.
from mtools.
Related Issues (20)
- Remove support for legacy SCCC config servers
- Update dependencies and set upper version constraints HOT 1
- Min version of numpy should be 1.21.6 for Python 3.7 compat
- Min version of matplotlib should be 3.5 for Python 3.7 compat
- Move mtools/util/pattern.py tests from inline to Pytest
- `mlaunch init --help` should not require `mongod`
- Passing `--dbpath` to mlaunch causes broken `mongod` invocation
- Fix deprecation warnings for nose-style tests in Pytest 7.2 HOT 1
- Update link for PyMongo installation instructions
- Update url for matplotlib installation
- Different mlogfilter timezone behavior between stdin and file given on CLI
- Default to compact JSON output
- Add mlogfilter --pretty
- mlaunch: can't start process if base path name contains spaces
- mlaunch fails to create a PSA without majority read concern HOT 2
- Add “temporary” mode HOT 2
- Question regarding file descriptors and other kernel parameters required by MongoDB HOT 3
- M tools
- mlaunch - would it be possible to config a multihost cluster with mlaunch HOT 1
- Remove Python 3.7 (EOL)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mtools.