)]}'
{"trove/guestagent/strategies/backup/impl.py":[{"author":{"_account_id":6268,"name":"Robert Myers","email":"myer0052@gmail.com","username":"rmyers"},"change_message_id":"3c482c2bb5286bc130a6c89e99557653d2a70eb1","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    @property"},{"line_number":129,"context_line":"    def cmd(self):"},{"line_number":130,"context_line":"        cmd \u003d (\"nodetool snapshot -t all_ks`date +%%F` \""},{"line_number":131,"context_line":"               \"\u003e\u003e /dev/null \u0026\u0026 sudo tar cpjvfP \""},{"line_number":132,"context_line":"               \"/tmp/all_ks`date +%%F`.tar.bz2 \""},{"line_number":133,"context_line":"               \"$(sudo find /var/lib/cassandra/data/ \""},{"line_number":134,"context_line":"               \"-type d -name all_ks`date +%%F`) \""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2Bf%2BY%3D","line":131,"updated":"2014-02-20 20:48:26.000000000","message":"This should be broken up into mulitple commands. We need to change the base backup runner to have optional \u0027pre_dump\u0027 and \u0027post_dump\u0027 commands that get run before and after the dump command. That will make the logic easier to follow at which point the backup failed. You can look at the base RestoreRunner for examples. The \u0027dump\u0027 command in this case can just be \u0027tar cpvjfP -\u0027 which will stream the tar to swift. Then the post command will be removing the snapshots.","commit_id":"197e847a113b8b310a59f6939654d39cb0b55a73"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"bc712b922a265c5820148d3d2205930f5b6d96a2","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    @property"},{"line_number":129,"context_line":"    def cmd(self):"},{"line_number":130,"context_line":"        cmd \u003d (\"nodetool snapshot -t all_ks`date +%%F` \""},{"line_number":131,"context_line":"               \"\u003e\u003e /dev/null \u0026\u0026 sudo tar cpjvfP \""},{"line_number":132,"context_line":"               \"/tmp/all_ks`date +%%F`.tar.bz2 \""},{"line_number":133,"context_line":"               \"$(sudo find /var/lib/cassandra/data/ \""},{"line_number":134,"context_line":"               \"-type d -name all_ks`date +%%F`) \""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2BfyE%3D","line":131,"in_reply_to":"AAAAUX%2F%2Bf%2BY%3D","updated":"2014-02-20 21:11:31.000000000","message":"Why this implemenentation doesn\u0027t fits current runner implementatation?\nBasically, i don\u0027t see any problems with it.","commit_id":"197e847a113b8b310a59f6939654d39cb0b55a73"},{"author":{"_account_id":6268,"name":"Robert Myers","email":"myer0052@gmail.com","username":"rmyers"},"change_message_id":"787dee5eb4bb97f803ed2370f1a212325467f489","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    @property"},{"line_number":129,"context_line":"    def cmd(self):"},{"line_number":130,"context_line":"        cmd \u003d (\"nodetool snapshot -t all_ks`date +%%F` \""},{"line_number":131,"context_line":"               \"\u003e\u003e /dev/null \u0026\u0026 sudo tar cpjvfP \""},{"line_number":132,"context_line":"               \"/tmp/all_ks`date +%%F`.tar.bz2 \""},{"line_number":133,"context_line":"               \"$(sudo find /var/lib/cassandra/data/ \""},{"line_number":134,"context_line":"               \"-type d -name all_ks`date +%%F`) \""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAUX%2F%2Bfso%3D","line":131,"in_reply_to":"AAAAUX%2F%2BfyE%3D","updated":"2014-02-20 21:23:19.000000000","message":"Because you aren\u0027t running a single command in the \u0027cmd\u0027 you are chaining together a few different commands that could be logically separated. I\u0027m saying that we make the base class more flexible so that other datastores could make use of the pre and post commands in the runner. Becuase Cassandra is not the only datastore that will need to do this sort of work. It would also help people debug what is happing as you could put logging statements in the pre command \u0027running nodetool snapshot...\u0027 for example. There *will* be errors and breaking this up into multiple subprocess calls is a good Idea to diagnose the root cause.","commit_id":"197e847a113b8b310a59f6939654d39cb0b55a73"}]}
