[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-exchange] branch master updated: rewrite sharding initialization
From: |
gnunet |
Subject: |
[taler-exchange] branch master updated: rewrite sharding initialization logic |
Date: |
Wed, 25 May 2022 08:40:11 +0200 |
This is an automated email from the git hooks/post-receive script.
marco-boss pushed a commit to branch master
in repository exchange.
The following commit(s) were added to refs/heads/master by this push:
new 6d2ee2c8 rewrite sharding initialization logic
6d2ee2c8 is described below
commit 6d2ee2c88ab87ac7e07ae30507dbd4197737838f
Author: Marco Boss <bossm8@bfh.ch>
AuthorDate: Wed May 25 08:40:01 2022 +0200
rewrite sharding initialization logic
---
src/exchange-tools/taler-exchange-dbinit.c | 60 +++++++++++++++---------------
1 file changed, 30 insertions(+), 30 deletions(-)
diff --git a/src/exchange-tools/taler-exchange-dbinit.c
b/src/exchange-tools/taler-exchange-dbinit.c
index c2d8964d..7c2c5b66 100644
--- a/src/exchange-tools/taler-exchange-dbinit.c
+++ b/src/exchange-tools/taler-exchange-dbinit.c
@@ -52,7 +52,12 @@ static uint32_t num_partitions;
/**
* -F option: setup a sharded database, i.e. create foreign tables/server
*/
-static uint32_t num_foreign_servers;
+static int shard_db;
+
+/**
+ * -f option: force partitions to be created when there is only one
+ */
+static int force_create_partitions;
/**
* -S option: setup a database on a shard server, creates tables with suffix
shard_idx
@@ -139,38 +144,30 @@ run (void *cls,
return;
}
if (1 <
- num_partitions)
+ num_partitions
+ || (
+ 1 == num_partitions
+ && force_create_partitions))
{
- if (GNUNET_OK !=
- plugin->setup_partitions (plugin->cls,
- num_partitions))
+ enum GNUNET_GenericReturnValue r = GNUNET_OK;
+ if (shard_db)
{
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Could not setup partitions. Dropping default ones again\n");
- if (GNUNET_OK != plugin->drop_tables (plugin->cls))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Could not drop tables after failed partitioning, please
delete the DB manually\n");
- }
- TALER_EXCHANGEDB_plugin_unload (plugin);
- plugin = NULL;
- global_ret = EXIT_NOTINSTALLED;
- return;
+ r = plugin->setup_foreign_servers (plugin->cls,
+ num_partitions);
}
- }
- else if (1 <
- num_foreign_servers)
- {
- if (GNUNET_OK !=
- plugin->setup_foreign_servers (plugin->cls,
- num_foreign_servers))
+ else
+ {
+ r = plugin->setup_partitions (plugin->cls,
+ num_partitions);
+ }
+ if (GNUNET_OK != r)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Could not setup shards. Aborting\n");
+ "Could not setup partitions. Dropping default ones again\n");
if (GNUNET_OK != plugin->drop_tables (plugin->cls))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Could not drop tables after failed shard setup, please
delete the DB manually\n");
+ "Could not drop tables after failed partitioning, please
delete the DB manually\n");
}
TALER_EXCHANGEDB_plugin_unload (plugin);
plugin = NULL;
@@ -241,13 +238,12 @@ main (int argc,
GNUNET_GETOPT_option_uint ('P',
"partition",
"NUMBER",
- "Setup a partitioned database where each table
which can be partitioned holds NUMBER partitions on a single DB node (NOTE:
this is different from sharding)",
+ "Setup a partitioned database where each table
which can be partitioned holds NUMBER partitions on a single DB node (NOTE:
sharding add -F for sharding)",
&num_partitions),
- GNUNET_GETOPT_option_uint ('F',
+ GNUNET_GETOPT_option_flag ('F',
"foreign",
- "NUMBER",
- "Setup a sharded database whit N foreign
servers (shards) / tables, must be called as DB superuser",
- &num_foreign_servers),
+ "Setup a sharded database with foreign servers
(shards) / tables rather than a partitioned one, must be called as DB
superuser.",
+ &shard_db),
GNUNET_GETOPT_option_uint ('S',
"shard",
"INDEX",
@@ -258,6 +254,10 @@ main (int argc,
"OLD_SHARD_IDX",
"reset a shard database, does not reinitialize
i.e. call taler-exchange-dbinit -S afterwards (DANGEROUS: all existsing data is
lost!)",
&reset_shard_db),
+ GNUNET_GETOPT_option_flag ('f',
+ "force",
+ "Force partitions to be created if there is
only one partition",
+ &force_create_partitions),
GNUNET_GETOPT_OPTION_END
};
enum GNUNET_GenericReturnValue ret;
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-exchange] branch master updated: rewrite sharding initialization logic,
gnunet <=