diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-08-14 01:04:02 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-08-14 01:04:02 +0200 |
commit | 911dac83cd65a53233ddd132918320a0167bd67f (patch) | |
tree | 9a69413871f15365d12d6e82408fef35fa3a3a7b | |
parent | feb001f478dd13d714b33d259781ad26b7177ffe (diff) | |
parent | b456400ab2a040063e6f85553c918908b3699d73 (diff) |
Merge branch 'master' of ssh://taler.net:/var/git/mint
-rw-r--r-- | src/mintdb/perf_taler_mintdb.c | 194 | ||||
-rw-r--r-- | src/mintdb/perf_taler_mintdb_interpreter.c | 67 | ||||
-rw-r--r-- | src/mintdb/plugin_mintdb_postgres.c | 2 |
3 files changed, 145 insertions, 118 deletions
diff --git a/src/mintdb/perf_taler_mintdb.c b/src/mintdb/perf_taler_mintdb.c index 358629a95..88e2b5a59 100644 --- a/src/mintdb/perf_taler_mintdb.c +++ b/src/mintdb/perf_taler_mintdb.c @@ -25,8 +25,9 @@ #define NB_DENOMINATION_INIT 15 #define NB_DENOMINATION_SAVE 15 -#define BIGGER 100000 -#define BIG 10000 +#define SMALL 10 +#define BIG 100 +#define BIGGER 1000 #define NB_RESERVE_INIT BIGGER #define NB_RESERVE_SAVE BIG @@ -40,6 +41,9 @@ #define NB_REFRESH_INIT BIGGER #define NB_REFRESH_SAVE BIG +#define NB_MELT_INIT BIG +#define NB_MELT_SAVE SMALL + /** * Runs the performances tests for the mint database * and logs the results using Gauger @@ -137,7 +141,7 @@ main (int argc, char ** argv) /* End of refresh session initialization */ /* Refresh melt initialization */ PERF_TALER_MINTDB_INIT_CMD_LOOP ("06 - refresh melt init loop", - NB_REFRESH_INIT), + NB_MELT_INIT), PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""), PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("06 - session hash", "06 - refresh melt init loop", @@ -155,58 +159,58 @@ main (int argc, char ** argv) PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of initialization"), PERF_TALER_MINTDB_INIT_CMD_DEBUG ("Start of performances measuring"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("05 - start"), - PERF_TALER_MINTDB_INIT_CMD_LOOP ("05 - reserve insert measure", + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("21 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("21 - reserve insert measure", NB_RESERVE_SAVE), - PERF_TALER_MINTDB_INIT_CMD_CREATE_RESERVE ("05 - reserve"), - PERF_TALER_MINTDB_INIT_CMD_INSERT_RESERVE ("05 - insert", - "05 - reserve"), + PERF_TALER_MINTDB_INIT_CMD_CREATE_RESERVE ("21 - reserve"), + PERF_TALER_MINTDB_INIT_CMD_INSERT_RESERVE ("21 - insert", + "21 - reserve"), PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", - "05 - reserve insert measure"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("05 - stop"), - PERF_TALER_MINTDB_INIT_CMD_GAUGER ("05 - gauger", - "05 - start", - "05 - stop", + "21 - reserve insert measure"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("21 - stop"), + PERF_TALER_MINTDB_INIT_CMD_GAUGER ("21 - gauger", + "21 - start", + "21 - stop", "POSTGRES", "Number of reserve inserted per second", "item/sec", NB_RESERVE_SAVE), PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of reserve insertion"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("06 - start"), - PERF_TALER_MINTDB_INIT_CMD_LOOP ("06 - reserve load measure", + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("22 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("22 - reserve load measure", NB_RESERVE_SAVE), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("06 - reserve", - "06 - reserve load measure", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("22 - reserve", + "22 - reserve load measure", "02 - save reserve"), - PERF_TALER_MINTDB_INIT_CMD_GET_RESERVE ("06 - get", - "06 - reserve"), + PERF_TALER_MINTDB_INIT_CMD_GET_RESERVE ("22 - get", + "22 - reserve"), PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", - "06 - reserve load measure"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("06 - stop"), + "22 - reserve load measure"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("22 - stop"), PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", - "06 - start", - "06 - stop", + "22 - start", + "22 - stop", "POSTGRES", "Number of reserve loaded per second", "item/sec", NB_RESERVE_SAVE), PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of reserve retreival"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("07 - start"), - PERF_TALER_MINTDB_INIT_CMD_LOOP ("07 - reserve history measure", + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("23 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("23 - reserve history measure", NB_RESERVE_SAVE), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("07 - reserve", - "07 - reserve history measure", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("23 - reserve", + "23 - reserve history measure", "02 - save reserve"), PERF_TALER_MINTDB_INIT_CMD_GET_RESERVE_HISTORY ("", - "07 - reserve"), + "23 - reserve"), PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", - "07 - reserve history measure"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("07 - stop"), + "23 - reserve history measure"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("23 - stop"), PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", - "07 - start", - "07 - stop", + "23 - start", + "23 - stop", "POSTGRES", "Number of reserve history loaded per second", "item/sec", @@ -214,114 +218,130 @@ main (int argc, char ** argv) PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of reserve history access"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("08 - start"), - PERF_TALER_MINTDB_INIT_CMD_LOOP ("08 - withdraw insert measure", + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("24 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("24 - withdraw insert measure", NB_WITHDRAW_SAVE), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("08 - reserve", - "08 - withdraw insert measure", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("24 - reserve", + "24 - withdraw insert measure", "02 - save reserve"), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("08 - denomination", - "08 - withdraw insert measure", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("24 - denomination", + "24 - withdraw insert measure", "01 - save denomination"), - PERF_TALER_MINTDB_INIT_CMD_CREATE_WITHDRAW ("08 - withdraw", - "08 - denomination", - "08 - reserve"), - PERF_TALER_MINTDB_INIT_CMD_INSERT_WITHDRAW ("08 - insert", - "08 - withdraw"), + PERF_TALER_MINTDB_INIT_CMD_CREATE_WITHDRAW ("24 - withdraw", + "24 - denomination", + "24 - reserve"), + PERF_TALER_MINTDB_INIT_CMD_INSERT_WITHDRAW ("24 - insert", + "24 - withdraw"), PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", - "08 - withdraw insert measure"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("08 - stop"), + "24 - withdraw insert measure"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("24 - stop"), PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", - "08 - start", - "08 - stop", + "24 - start", + "24 - stop", "POSTGRES", "Number of withdraw insert per second", "item/sec", NB_WITHDRAW_SAVE), PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of withdraw insertion"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("09 - start"), - PERF_TALER_MINTDB_INIT_CMD_LOOP ("09 - withdraw insert measure", + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("25 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("25 - withdraw insert measure", NB_RESERVE_SAVE), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("09 - coin", - "09 - withdraw insert measure", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("25 - coin", + "25 - withdraw insert measure", "03 - save coin"), PERF_TALER_MINTDB_INIT_CMD_GET_WITHDRAW ("", - "09 - coin"), + "25 - coin"), PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", - "09 - withdraw insert measure"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("09 - stop"), + "25 - withdraw insert measure"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("25 - stop"), PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", - "09 - start", - "09 - stop", + "25 - start", + "25 - stop", "POSTGRES", "Number of withdraw loaded per second", "item/sec", NB_RESERVE_SAVE), PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of withdraw loading"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("10 - start"), - PERF_TALER_MINTDB_INIT_CMD_LOOP ("10 - get coin transaction", + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("26 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("26 - get coin transaction", NB_WITHDRAW_SAVE), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("10 - coin", - "10 - get coin transaction", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("26 - coin", + "26 - get coin transaction", "03 - save coin"), PERF_TALER_MINTDB_INIT_CMD_GET_COIN_TRANSACTION("", - "10 - coin"), + "26 - coin"), PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", - "10 - get coin transaction"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("10 - end"), + "26 - get coin transaction"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("26 - end"), PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", - "10 - start", - "10 - end", + "26 - start", + "26 - end", "POSTGRES", "Number of coin transaction history loaded per second", "item/sec", NB_WITHDRAW_SAVE), PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of transaction loading"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("11 - start"), - PERF_TALER_MINTDB_INIT_CMD_LOOP ("11 - /withdraw/sign", + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("27 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("27 - /withdraw/sign", NB_WITHDRAW_SAVE), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("11 - reserve", - "11 - /withdraw/sign", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("27 - reserve", + "27 - /withdraw/sign", "02 - save reserve"), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("11 - dki", - "11 - /withdraw/sign", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("27 - dki", + "27 - /withdraw/sign", "01 - save denomination"), PERF_TALER_MINTDB_INIT_CMD_WITHDRAW_SIGN ("", - "11 - dki", - "11 - reserve"), + "27 - dki", + "27 - reserve"), PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", - "11 - /withdraw/sign"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("11 - end"), + "27 - /withdraw/sign"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("27 - end"), PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", - "11 - start", - "11 - end", + "27 - start", + "27 - end", "POSTGRES", "Number of /withdraw/sign per second", "item/sec", NB_WITHDRAW_SAVE), PERF_TALER_MINTDB_INIT_CMD_DEBUG ("End of /withdraw/sign"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("12 - start"), - PERF_TALER_MINTDB_INIT_CMD_LOOP ("12 - /deposit", + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("28 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("28 - /deposit", NB_DEPOSIT_SAVE), - PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("12 - coin", - "12 - /deposit", + PERF_TALER_MINTDB_INIT_CMD_LOAD_ARRAY ("28 - coin", + "28 - /deposit", "03 - save coin"), - PERF_TALER_MINTDB_INIT_CMD_DEPOSIT ("12 - deposit", - "12 - coin"), + PERF_TALER_MINTDB_INIT_CMD_DEPOSIT ("28 - deposit", + "28 - coin"), PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", - "12 - /deposit"), - PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("12 - stop"), + "28 - /deposit"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("28 - stop"), PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", - "12 - start", - "12 - stop", + "28 - start", + "28 - stop", "POSTGRES", "Number of /deposit per second", "item/sec", NB_DEPOSIT_SAVE), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("29 - start"), + PERF_TALER_MINTDB_INIT_CMD_LOOP ("29 - insert refresh session", + NB_REFRESH_SAVE), + PERF_TALER_MINTDB_INIT_CMD_START_TRANSACTION (""), + PERF_TALER_MINTDB_INIT_CMD_CREATE_REFRESH_SESSION (""), + PERF_TALER_MINTDB_INIT_CMD_COMMIT_TRANSACTION (""), + PERF_TALER_MINTDB_INIT_CMD_END_LOOP ("", + "29 - insert refresh session"), + PERF_TALER_MINTDB_INIT_CMD_GET_TIME ("29 - stop"), + PERF_TALER_MINTDB_INIT_CMD_GAUGER ("", + "29 - start", + "29 - stop", + "POSTGRES", + "Number of refresh session inserted per second", + "item/sec", + NB_REFRESH_SAVE), PERF_TALER_MINTDB_INIT_CMD_END (""), }; diff --git a/src/mintdb/perf_taler_mintdb_interpreter.c b/src/mintdb/perf_taler_mintdb_interpreter.c index 708eac809..686c43fce 100644 --- a/src/mintdb/perf_taler_mintdb_interpreter.c +++ b/src/mintdb/perf_taler_mintdb_interpreter.c @@ -1141,14 +1141,15 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) case PERF_TALER_MINTDB_CMD_INSERT_DEPOSIT: { int deposit_index; + int ret; struct TALER_MINTDB_Deposit *deposit; deposit_index = state->cmd[state->i].details.insert_deposit.index_deposit; deposit = state->cmd[deposit_index].exposed.data.deposit; - GNUNET_assert (GNUNET_OK == - state->plugin->insert_deposit (state->plugin->cls, + ret = state->plugin->insert_deposit (state->plugin->cls, state->session, - deposit)); + deposit); + GNUNET_assert (GNUNET_SYSERR != ret); state->cmd[state->i].exposed.data.deposit = deposit; } break; @@ -1156,13 +1157,15 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) case PERF_TALER_MINTDB_CMD_GET_DEPOSIT: { unsigned int source_index; + int ret; struct PERF_TALER_MINTDB_Data *data; source_index = state->cmd[state->i].details.get_deposit.index_deposit; data = &state->cmd[source_index].exposed; - state->plugin->have_deposit (state->plugin->cls, - state->session, - data->data.deposit); + ret = state->plugin->have_deposit (state->plugin->cls, + state->session, + data->data.deposit); + GNUNET_assert (GNUNET_SYSERR != ret); } break; @@ -1178,6 +1181,7 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) case PERF_TALER_MINTDB_CMD_INSERT_RESERVE: { unsigned int reserve_index; + int ret; struct PERF_TALER_MINTDB_Reserve *reserve; json_t *details = NULL; @@ -1188,21 +1192,20 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) GNUNET_CRYPTO_QUALITY_WEAK, UINT32_MAX)); GNUNET_assert (NULL != details); - state->plugin->reserves_in_insert ( - state->plugin->cls, - state->session, - &reserve->reserve.pub, - &reserve->reserve.balance, - GNUNET_TIME_absolute_get (), - details - ); + ret = state->plugin->reserves_in_insert (state->plugin->cls, + state->session, + &reserve->reserve.pub, + &reserve->reserve.balance, + GNUNET_TIME_absolute_get (), + details); + GNUNET_assert (GNUNET_SYSERR != ret); json_decref (details); } break; case PERF_TALER_MINTDB_CMD_GET_RESERVE: { - int reserve_index; + unsigned int reserve_index; int ret; struct PERF_TALER_MINTDB_Data *data; @@ -1218,7 +1221,7 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) case PERF_TALER_MINTDB_CMD_GET_RESERVE_HISTORY: { - int reserve_index; + unsigned int reserve_index; struct TALER_MINTDB_ReserveHistory *history; struct PERF_TALER_MINTDB_Data *data; @@ -1237,6 +1240,7 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) { struct TALER_MINTDB_DenominationKeyIssueInformation *dki = PERF_TALER_MINTDB_denomination_init (); + GNUNET_assert (NULL != dki); state->cmd[state->i].exposed.data.dki = dki; } break; @@ -1275,7 +1279,8 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) case PERF_TALER_MINTDB_CMD_CREATE_WITHDRAW: { - int dki_index, reserve_index; + unsigned int dki_index; + unsigned int reserve_index; struct PERF_TALER_MINTDB_Coin *coin ; dki_index = state->cmd[state->i].details.create_withdraw.index_dki; @@ -1371,9 +1376,8 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) case PERF_TALER_MINTDB_CMD_INSERT_REFRESH_MELT: { - int hash_index; - int coin_index; - int ret; + unsigned int hash_index; + unsigned int coin_index; struct GNUNET_HashCode *hash; struct TALER_MINTDB_RefreshMelt *melt; struct PERF_TALER_MINTDB_Coin *coin; @@ -1384,28 +1388,29 @@ interpret (struct PERF_TALER_MINTDB_interpreter_state *state) coin = state->cmd[coin_index].exposed.data.coin; melt = PERF_TALER_MINTDB_refresh_melt_init (hash, coin); - ret = state->plugin->insert_refresh_melt (state->plugin->cls, - state->session, - 1, - melt); - GNUNET_assert (GNUNET_SYSERR != ret); + state->plugin->insert_refresh_melt (state->plugin->cls, + state->session, + 1, + melt); } break; case PERF_TALER_MINTDB_CMD_GET_REFRESH_MELT: { - int hash_index; + int ret; + unsigned int hash_index; struct GNUNET_HashCode *hash; struct TALER_MINTDB_RefreshMelt melt; hash_index = cmd_find (state->cmd, state->cmd[state->i].details.get_refresh_melt.label_hash); hash = state->cmd[hash_index].exposed.data.session_hash; - state->plugin->get_refresh_melt (state->plugin->cls, - state->session, - hash, - 1, - &melt); + ret = state->plugin->get_refresh_melt (state->plugin->cls, + state->session, + hash, + 1, + &melt); + GNUNET_assert (GNUNET_SYSERR != ret); } break; diff --git a/src/mintdb/plugin_mintdb_postgres.c b/src/mintdb/plugin_mintdb_postgres.c index c945e92df..b0fe11b59 100644 --- a/src/mintdb/plugin_mintdb_postgres.c +++ b/src/mintdb/plugin_mintdb_postgres.c @@ -2116,6 +2116,8 @@ get_known_coin (void *cls, return GNUNET_NO; } GNUNET_assert (1 == nrows); /* due to primary key */ + if (NULL == coin_info) + return GNUNET_YES; { struct TALER_PQ_ResultSpec rs[] = { TALER_PQ_result_spec_rsa_public_key ("denom_pub", &coin_info->denom_pub.rsa_public_key), |