summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* abstract out mnesia:start and mnesia:stopbug24227Alexandru Scvortov2011-07-281-11/+16
|
* strip out the new backup naming scheme since it isn't necessary anymoreAlexandru Scvortov2011-07-281-17/+5
|
* merge headsAlexandru Scvortov2011-07-261-1/+1
|\
| * oopsAlexandru Scvortov2011-07-261-1/+1
| |
* | CosmeticSimon MacMullen2011-07-261-2/+1
| |
* | CosmeticSimon MacMullen2011-07-261-5/+4
|/
* cosmetic and refactoringAlexandru Scvortov2011-07-261-39/+32
|
* improve commentsAlexandru Scvortov2011-07-252-6/+3
|
* use mnesia:system_config(use_dir)Alexandru Scvortov2011-07-222-3/+11
|
* more spacingAlexandru Scvortov2011-07-221-1/+1
|
* rename IsDiskNode, WasDiskNodeAlexandru Scvortov2011-07-221-4/+4
| | | | | | My general rule for spelling these things was: if it's followed by node, it should be disc; otherwise, it should be disk. So, is_disc_node vs OnDisk. I managed to miss those two, though.
* un-misname waiting_forAlexandru Scvortov2011-07-221-2/+2
|
* SpSimon MacMullen2011-07-221-1/+1
|
* cosmeticAlexandru Scvortov2011-07-212-5/+5
|
* remove starting/stopping improvementsAlexandru Scvortov2011-07-211-11/+3
| | | | Moving to another branch... but I need the diff.
* don't use echo -eAlexandru Scvortov2011-07-211-1/+1
| | | | | I don't want to risk breaking something with that right now. I'll test and file another bug if it's safe.
* remove the disc schema for stand-alone ram nodesAlexandru Scvortov2011-07-211-5/+7
|
* bring branch closer to defaultAlexandru Scvortov2011-07-211-7/+6
|
* don't wipe message store and lengthier commentAlexandru Scvortov2011-07-211-8/+19
|
* remove impossible caseAlexandru Scvortov2011-07-211-1/+0
|
* remove redundant codeAlexandru Scvortov2011-07-211-9/+2
|
* oopsAlexandru Scvortov2011-07-211-5/+5
|
* refactor and re-sync ram nodesAlexandru Scvortov2011-07-211-11/+28
| | | | | | | | A bit of trouble performing local upgrades on ram nodes: the upgrade process takes down Mnesia, which causes it to lose its schema and its recorded table info, which causes the ensuing schema check to fail. Solution: after doing the secondary upgrades, re-cluster ram nodes and wait for them to sync up, again.
* refactorAlexandru Scvortov2011-07-201-12/+13
|
* handle the starting/stopping returns from mnesiaAlexandru Scvortov2011-07-201-6/+17
|
* always reset and preemptively leave clustersAlexandru Scvortov2011-07-201-12/+23
| | | | | | | | | | | | | | | | | | Always backup and reset during clustering if the node type has changed. Worst case, it ensures that we actually have an empty mnesia dir with new ram nodes. Also, preemptively leave a cluster before joining it. Suppose we had a two-node cluster, the first node goes down, the second hard resets, the first node comes back up, the second node tries to rejoin the cluster with a different type. Since it hard-reset, it doesn't know that it used to be part of the cluster, and the other node is unaware that our node is supposed to have left the cluster. So, when clustering, we always try to leave a cluster before joining it. In leave_cluster/2, I added {aborted, {node_not_running, _}} to the "not error" returns, because it looks similar to {badrpc, nodedown}, which was already there. This may be wrong.
* reset before changing node typeAlexandru Scvortov2011-07-202-37/+24
| | | | | | | | | Matthias points out that the only way for mnesia:change_config to start creating tables is for the node to re-join the cluster (and get its old table definitions from other nodes). Instead of fixing the tables after that, we now reset inside the cluster command. Note that in very old rabbit versions, we'd just prevent this by having the user reset manually.
* remove two resets introduced earlierAlexandru Scvortov2011-07-201-2/+0
| | | | | | | | | | | | We don't need them anymore. BTW, when generating the backup db directory name, we used to just append the date (including minutes, seconds) to the current directory name. But since we do an extra move_db/0 now (when converting from disc to ram), some of the tests were fast enough to try to backup the database twice in the same second. Needless to say, this would cause an error. So, now we generate the new name as before, but if it's already used, we wait 1s and try again.
* merge default into bug24227Alexandru Scvortov2011-07-208-12/+25
|\
| * Merge bug24273 into defaultRob Harrop2011-07-191-4/+10
| |\
| | * catch another two reasonsbug24273Alexandru Scvortov2011-07-191-3/+6
| | |
| | * there are many ways for a queue to die nicelyAlexandru Scvortov2011-07-181-4/+7
| | |
| * | Merge bug24262.Simon MacMullen2011-07-181-1/+9
| |\ \ | | |/ | |/|
| | * Bigger comment.bug24262Simon MacMullen2011-07-181-1/+4
| | |
| | * more the restart_app to a more appropriate placeAlexandru Scvortov2011-07-181-1/+1
| | |
| | * increase a timeoutAlexandru Scvortov2011-07-151-8/+1
| | |
| | * remove io:formatAlexandru Scvortov2011-07-151-1/+0
| | |
| | * cleanup queue and restart appAlexandru Scvortov2011-07-151-0/+13
| | |
| * | Correct boilerplate for the HA modules which were started in 2010 but failed ↵Matthew Sackman2011-07-155-5/+5
| |/ | | | | | | to get updated to 2011.
| * fix bug introduced by bug 24216 (tx untangling)Matthias Radestock2011-07-141-1/+1
| | | | | | | | forgot to propagate an API change
| * cosmeticMatthias Radestock2011-07-141-1/+0
| |
* | test that disc nodes are actually disc nodesAlexandru Scvortov2011-07-202-5/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests used to be slightly wrong. They'd expect: rabbitmqctl cluster to create a cluster with a single ram node. It didn't, instead, it created a cluster with a single disc node. Since we weren't actually checking the resulting node type, everything went along fine. Assert_tables_copy_type is complicated by all the cases it has to handle, namely converting disc -> ram and ram -> disc. For disc -> ram, we first need to convert all the tables to ram, then, we need to convert the schema (converting it before fails with "Disc resident tables"). For ram -> disc, we first need to convert the schema, otherwise, all the table conversions will fail with 'has_no_disc'. Regarding an earlier commit, using mensia:system_info(use_dir) to check if we have a disc node is wrong because we create the directory for the message_store anyway.
* | check that a ram node is indeed a ram nodeAlexandru Scvortov2011-07-201-0/+14
| |
* | enable disc-less nodesAlexandru Scvortov2011-07-203-41/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | The main trouble with this is mnesia:change_config(extra_db_nodes,...). If the current node doesn't have a schema with all the tables created, it will get it from one of the nodes it connects to. This is a problem if we're a disc node and they're a ram node or vice versa. So, after we get the tables from the other node and wait_for_remote_tables, we assert that their storage location is correct and change it if not. If the other node is disc and we are ram, this unfortunately means that the tables are first written to disc and then converted to ram, but since this is a one-off operation during startup, it shouldn't be a problem.
* | commentAlexandru Scvortov2011-07-191-1/+2
| |
* | really add schema-less nodesAlexandru Scvortov2011-07-193-30/+51
| | | | | | | | | | | | | | | | I've disabled disc-to-ram conversions, for now. Mnesia:change_table_copy_type(schema, node(), ram_copies) half-fails silently if mnesia isn't running. It removes the stuff in the db dir, but it gets recreated on the next mnesia:start/0.
* | cover the missing caseAlexandru Scvortov2011-07-182-7/+10
| |
* | the argument is sometimes 'disc_copies' and not 'disc'Alexandru Scvortov2011-07-181-14/+16
| |
* | re-add schema-less nodesAlexandru Scvortov2011-07-151-16/+38
|/
* Merge bug24216 into defaultRob Harrop2011-07-083-39/+44
|\