New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a button in the web UI to rebuild sindexes #2799
Comments
Just to be sure I'm on the same page as everyone else. Issue #2797 to duplicate indexes is not making it in 1.14? indexStatus will return something that I can re-use to rebuild an index. If yes, then I can do two things:
|
#2797 should make it in. I think we should do (2). If they close the web interface and re-open it, the issue will still be there, and when they hit |
Err, sorry I refered to #2797 as something like Is there a limit of index that can be built at the same time? Can I rebuild all of them at the same time? |
You can rebuild all of them at the same time, but I think that will slow down the cluster a lot. (@danielmewes, anything to say about that?) |
Rebuilding sequentially is probably better. |
I agree, rebuilding one at a time is definitely safer. |
How do people feel with this implementation? An issue pops up if some old indexes are found. If you want to recreate all the indexes (sequentially, at once), you need to run a Node/Python/Ruby script. Sequentially building the indexes on the interface leads to two issues
With a script, we can dynamically build a query that will sequentially rebuild all indexes. [1] The reason why we should limit one index at a time is that if the OOM killer kill RethinkDB because too many indexes are being created, restarting RethinkDB will probably lead to another crash. [2] Mostly because it requires "long" testing The other solution, is to have the web ui pull data every few minutes and rebuild an index if none is being rebuilt. |
I like that approach, because it doesn't do anything unexpected. On small setups, clicking a button for each index one at a time is very easy. |
We should probably write this script for people. |
(Although, one could argue that if we're writing a script for common behavior we should support it out of the box. How hard would it be to add e.g. server support for recreating these indexes sequentially?) |
RethinkDB currently doesn't have job control features. The advantage of a script is that we can use the OS's job control features. For example, the user can kill the script; and it can print messages describing its process. That's a much nicer UI than anything server-side that we could whip up in a week. |
I wouldn't be too hard to include something in the python driver alongside the export/import/dump/restore scripts. |
We should do that and make it accessible through the rethinkdb binary the same way "rethinkdb dump" is. |
I'll go ahead and do that, then. |
Ok, the script is up in review 1925. |
Talked a bit with @coffeemug We'll just display the issue and a link to the appropriate docs. The reason is mostly because
|
Up in review 1950 assigned to @mglukhovsky |
@neumino @mglukhovsky -- what's the status of this issue? It's the last one in the 1.14 branch. |
I fixed a bug earlier today, and it's back in code review. |
Merged in v1.14.x as 8b6bd59 |
This depends on #2797 and #2798 .
The text was updated successfully, but these errors were encountered: