try to fix missing rollbacks for wirewatch
This commit is contained in:
parent
f9860f5370
commit
ab239f3e54
@ -420,7 +420,7 @@ history_cb (void *cls,
|
|||||||
{
|
{
|
||||||
struct RejectContext *rtc;
|
struct RejectContext *rtc;
|
||||||
|
|
||||||
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
|
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
|
||||||
"Wire transfer over %s has invalid subject `%s', sending it back!\n",
|
"Wire transfer over %s has invalid subject `%s', sending it back!\n",
|
||||||
TALER_amount2s (&details->amount),
|
TALER_amount2s (&details->amount),
|
||||||
details->wtid_s);
|
details->wtid_s);
|
||||||
@ -443,6 +443,15 @@ history_cb (void *cls,
|
|||||||
row_off_size,
|
row_off_size,
|
||||||
&reject_cb,
|
&reject_cb,
|
||||||
rtc);
|
rtc);
|
||||||
|
if (NULL == rt)
|
||||||
|
{
|
||||||
|
GNUNET_break (0);
|
||||||
|
db_plugin->rollback (db_plugin->cls,
|
||||||
|
session);
|
||||||
|
GNUNET_assert (NULL == task);
|
||||||
|
task = GNUNET_SCHEDULER_add_now (&find_transfers,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
return GNUNET_SYSERR; /* will continue later... */
|
return GNUNET_SYSERR; /* will continue later... */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,7 +483,10 @@ history_cb (void *cls,
|
|||||||
{
|
{
|
||||||
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
|
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
|
||||||
"Got DB soft error for reserve_in_insert\n");
|
"Got DB soft error for reserve_in_insert\n");
|
||||||
|
db_plugin->rollback (db_plugin->cls,
|
||||||
|
session);
|
||||||
/* try again */
|
/* try again */
|
||||||
|
GNUNET_assert (NULL == task);
|
||||||
task = GNUNET_SCHEDULER_add_now (&find_transfers,
|
task = GNUNET_SCHEDULER_add_now (&find_transfers,
|
||||||
NULL);
|
NULL);
|
||||||
return GNUNET_SYSERR;
|
return GNUNET_SYSERR;
|
||||||
@ -540,6 +552,8 @@ find_transfers (void *cls)
|
|||||||
{
|
{
|
||||||
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
|
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
|
||||||
"Failed to obtain starting point for montoring from database!\n");
|
"Failed to obtain starting point for montoring from database!\n");
|
||||||
|
db_plugin->rollback (db_plugin->cls,
|
||||||
|
session);
|
||||||
global_ret = GNUNET_SYSERR;
|
global_ret = GNUNET_SYSERR;
|
||||||
GNUNET_SCHEDULER_shutdown ();
|
GNUNET_SCHEDULER_shutdown ();
|
||||||
return;
|
return;
|
||||||
@ -547,6 +561,8 @@ find_transfers (void *cls)
|
|||||||
if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
|
if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
|
||||||
{
|
{
|
||||||
/* try again */
|
/* try again */
|
||||||
|
db_plugin->rollback (db_plugin->cls,
|
||||||
|
session);
|
||||||
task = GNUNET_SCHEDULER_add_now (&find_transfers,
|
task = GNUNET_SCHEDULER_add_now (&find_transfers,
|
||||||
NULL);
|
NULL);
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user