Robomongo 1.0 RC1 brings support to Replica Set Clusters

We are very happy to announce the new version of Robomongo 1.0-RC1 with Replica Set support!

In this release, we have lots of changes and improvements. In summary, Replica Set feature is the most major feature of this release, we have error reporting improvements for almost all operations, we have new ‘Attributes’ column to see important connection properties such as ‘Replica Set’, ‘SSL’ and ‘SSH’. And many more explained in the following sections.

1. Replica Set Support

The major feature of this release is support for replica sets. With this release Robomongo supports replica set with/without SSL.

Let’s start with two quick overview videos and then explain these features in more details after the videos.

Quick overview video about Replica Set features:

Quick overview video of replica set ‘Offline Mode’: (It is still possible to work on secondaries)

a. Online & Offline Modes

Online mode
If the replica set’s primary is reachable, the connection will be online mode as seen below:

Offline mode
If the replica set’s primary is not reachable, the connection will switch into ‘Offline’ mode.

Good news is, even in the offline mode, it is still possible to work on a secondary member (read-only operations) from right click menu seen below:


Details about this menu items will be in section b.

Replica set status aka “rs.status()” shortcut menu item
With this new feature it is possible to check replica set status even in offline mode (primary is unreachable) if there is at least one reachable member. In the example shown below, we can get all information about the health of replica set and members with right click on replica set folder.

‘Status of Replica Set’ menu item will be enabled if there is at least one reachable member.

Automatically disabled/enabled right click menu
Final words about ‘Offline’ mode is that some of the rightk click menu items will be disabled. Only ‘Refresh’ and ‘Disconnect’ will be enabled. When the replica set’s primary becomes reachable, the menu items will be enabled again.

If a replica set member is not reachable, the member itself will be disabled (grayed out) and it’s right click menu & double click features will be disabled until it becomes reachable.

b. Replica set member right click menu

For every reachable (primary or secondary) replica set members (nodes), the following operations are supported as seen below screenshot:

Now, let’s see how the first two items work.

Open direct shell to a replica set member:
With this feature, it is possible to open a shell tab to any reachable member (primary or secondary) and continue to work directly on that member on a new shell tab as shown below.

Open direct connection to a replica set member:
With this feature, it is possible to open direct connection to any reachable member (Primary or Secondary) and continue to work on that connection as direct connection instead of replica set connection if needed.

c. Mongo Atlas support

Connection to a replica set on Mongo Atlas cloud
It is possible to connect to a replica set with 3, 5 or more nodes (members). In the example below Robomongo is connected to a replica set with 5 members which is a cluster on Mongo Atlas cloud.

d. Other Replica Set features

A shell tab will work even after replica set primary changed
We have added a functionality to dynamically update a shell’s primary node with correct primary node which allows users to be able to re-run a tab even when the primary of replica set has changed.

Cached set name feature
We have implemented cached set name feature which achieves two times faster connections. With this feature, set name is saved in connection settings file of Robomongo and survives after closing Robomongo and can be used as long as the connection is not edited or the config file is not deleted. After any edit/save connection settings, failed connections or cloned connection settings, the cached set name will be cleared to empty string.

Smart member addition
We have implemented a small helper algorithm for member addition where clicking add button will automatically copy the last entered member’s hostname (or IP), increment it’s port and create a new member for you. It’s also possible to edit any member in-place simply by double clicking on it.

Note: ‘Find Set’ button/feature is also planned for the next releases which will automatically find and configure all members by a simple click after the user enters at least one reachable replica set member.

2. New Features & Improvements

a. For easier access to some important connection properties, new column ‘Attributes’ is added in connections list dialog as shown below.

b. Improved error handling (no double error windows) and new operation logging for all fail and success conditions have been added for almost all operations (except ‘Index’ operations). Some of them are listed below:

  • Create, Drop Database
  • Create, Edit User
  • Create, Drop, Duplicate, Rename Collection
  • Insert Document
  • Remove document, Delete document, Remove all documents (triggered both from explorer and from result widget)
  • Refresh Users
  • Refresh Functions
  • Refresh Collections
  • Connection establish & refresh server fail and success cases.

In the following screenshots, showing new operation logging for fail and success conditions as well as connection establish failures:

c. Windows size will be saved/restored persistently for Edit, View and Insert Document dialogs.

d. Connections are automatically found and imported from the latest installed Robomongo version.

e. Previously not existing, new error reporting/handling and logging have been added for the operations below:

  • Create, Drop Function
  • Drop User

f. More informative and adjusted log level prefix strings haven added for log window. (Error, Warn, Info etc..)

g. After a new connection is created, now the focus goes to the newly created connection (end of list) instead of the beginning of connections list. And when Robomongo is opened, the focus goes to the end of the connection list instead of beginning. These two features makes it easier to work if there are many connections in the list.

i. Error messages added and error handling for ‘remove document’, ‘remove all documents’ operations triggered explorer and single/multi ‘delete document’ from results window have been re-implemented and improved.

j. Relevant errors are shown for the following cases now:

  • Drop attempt of non-existing collection.
  • Duplicating a collection with a collection name which already exists finishes silently.

3. Fixes

  • Fix for the problem where the connections list comes empty if the Robomongo config file or it’s directory do not exist.

  • Fix for the problem where ‘in-progress bar’ widget was not centered on main window for “Update Documents/Remove Documents” operations.
    https://github.com/paralect/robomongo/issues/1256

  • Fix for two problems where the operations ‘insert or update documents’ in one tab was causing auto reloading of other unrelated tabs and also multiple error windows to popup.
    https://github.com/paralect/robomongo/issues/1236

  • Fix for the problem where the operations ‘remove document’, ‘remove all documents’ triggered explorer and single or multi ‘delete document’ from results window were causing auto reloading of other unrelated tabs.

Roadmap

Our next major priority is to complete support for the most popular features:

  • SSH — Implemented
  • TLS/SSL — Implemented
  • Replica Sets — Implemented
  • User Management — Planned for Next Release

Download

Download Robomongo 1.0-RC1, our best version of Robomongo.

Enjoy! And… support us! Together, let’s push Robomongo to the sky!

Follow us on Twitter (@robomongo) to be notified about future releases. Please submit any found issues to our GitHub tracker.