gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-merchant] branch master updated (075d09d9 -> d99be82b)


From: gnunet
Subject: [taler-merchant] branch master updated (075d09d9 -> d99be82b)
Date: Mon, 18 Jan 2021 11:40:42 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a change to branch master
in repository merchant.

    from 075d09d9 postgres_insert_pickup must NOT start a transaction, 
transaction is already part of caller
     new d2c40f4e insert_transfer_details is running its own transaction, no 
need to create an outer transaction for it
     new d99be82b only log things as ERROR that are actually ERRORs

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../taler-merchant-httpd_private-post-orders.c     |  2 +-
 .../taler-merchant-httpd_private-post-transfers.c  | 60 +++++-----------------
 src/lib/merchant_api_get_orders.c                  |  4 ++
 src/testing/testing_api_cmd_post_orders.c          |  7 ++-
 4 files changed, 23 insertions(+), 50 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_private-post-orders.c 
b/src/backend/taler-merchant-httpd_private-post-orders.c
index b0bfa30f..7162945c 100644
--- a/src/backend/taler-merchant-httpd_private-post-orders.c
+++ b/src/backend/taler-merchant-httpd_private-post-orders.c
@@ -984,7 +984,7 @@ add_payment_details (struct MHD_Connection *connection,
     wm = NULL;
   if (NULL == wm)
   {
-    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
                 "No wire method available for instance '%s'\n",
                 hc->instance->settings.id);
     return TALER_MHD_reply_with_error (connection,
diff --git a/src/backend/taler-merchant-httpd_private-post-transfers.c 
b/src/backend/taler-merchant-httpd_private-post-transfers.c
index dda8bf11..80998e85 100644
--- a/src/backend/taler-merchant-httpd_private-post-transfers.c
+++ b/src/backend/taler-merchant-httpd_private-post-transfers.c
@@ -459,61 +459,27 @@ wire_transfer_cb (void *cls,
     return;
   }
 
-  for (unsigned int r = 0; r<MAX_RETRIES; r++)
-  {
-    TMH_db->preflight (TMH_db->cls);
-    if (GNUNET_OK !=
-        TMH_db->start (TMH_db->cls,
-                       "insert transaction details"))
-    {
-      GNUNET_break (0);
-      resume_transfer_with_error (ptc,
-                                  MHD_HTTP_INTERNAL_SERVER_ERROR,
-                                  TALER_EC_GENERIC_DB_START_FAILED,
-                                  NULL);
-      return;
-    }
-    /* Ok, exchange answer is acceptable, store it */
-    qs = TMH_db->insert_transfer_details (TMH_db->cls,
-                                          instance_id,
-                                          ptc->exchange_url,
-                                          ptc->payto_uri,
-                                          &ptc->wtid,
-                                          td);
-    if (0 > qs)
-      goto retry;
-    qs = TMH_db->commit (TMH_db->cls);
-retry:
-    if (GNUNET_DB_STATUS_HARD_ERROR == qs)
-    {
-      TMH_db->rollback (TMH_db->cls);
-      /* Always report on hard error as well to enable diagnostics */
-      GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == qs);
-      resume_transfer_with_error (
-        ptc,
-        MHD_HTTP_INTERNAL_SERVER_ERROR,
-        TALER_EC_GENERIC_DB_COMMIT_FAILED,
-        NULL);
-      return;
-    }
-    if (0 <= qs)
-      break; /* success! */
-    /* soft failure, rollback and try again */
-    TMH_db->rollback (TMH_db->cls);
-  }
-  if (GNUNET_DB_STATUS_SOFT_ERROR == qs)
+  TMH_db->preflight (TMH_db->cls);
+  /* Ok, exchange answer is acceptable, store it */
+  qs = TMH_db->insert_transfer_details (TMH_db->cls,
+                                        instance_id,
+                                        ptc->exchange_url,
+                                        ptc->payto_uri,
+                                        &ptc->wtid,
+                                        td);
+  if (0 > qs)
   {
-    TMH_db->rollback (TMH_db->cls);
-    /* Always report on hard error as well to enable diagnostics */
+    /* Always report on DB error as well to enable diagnostics */
     GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == qs);
     resume_transfer_with_error (
       ptc,
       MHD_HTTP_INTERNAL_SERVER_ERROR,
-      TALER_EC_GENERIC_DB_SOFT_FAILURE,
+      (GNUNET_DB_STATUS_HARD_ERROR == qs)
+      ? TALER_EC_GENERIC_DB_COMMIT_FAILED
+      : TALER_EC_GENERIC_DB_SOFT_FAILURE,
       NULL);
     return;
   }
-
   /* resume processing, main function will build the response */
   resume_transfer_with_response (ptc,
                                  0,
diff --git a/src/lib/merchant_api_get_orders.c 
b/src/lib/merchant_api_get_orders.c
index 0b8a35f8..420510bd 100644
--- a/src/lib/merchant_api_get_orders.c
+++ b/src/lib/merchant_api_get_orders.c
@@ -192,6 +192,10 @@ handle_get_orders_finished (void *cls,
       GNUNET_JSON_parse_free (spec);
       break;
     }
+  case MHD_HTTP_NOT_FOUND:
+    hr.ec = TALER_JSON_get_error_code (json);
+    hr.hint = TALER_JSON_get_error_hint (json);
+    break;
   default:
     /* unexpected response code */
     hr.ec = TALER_JSON_get_error_code (json);
diff --git a/src/testing/testing_api_cmd_post_orders.c 
b/src/testing/testing_api_cmd_post_orders.c
index 8ccfb005..4cbb17b0 100644
--- a/src/testing/testing_api_cmd_post_orders.c
+++ b/src/testing/testing_api_cmd_post_orders.c
@@ -286,7 +286,7 @@ order_cb (void *cls,
       const struct TALER_TESTING_Command *order_cmd;
       const struct TALER_ClaimTokenP *prev_token;
       struct TALER_ClaimTokenP zero_token = {0};
-      
+
       order_cmd = TALER_TESTING_interpreter_lookup_command (
         ps->is,
         ps->duplicate_of);
@@ -312,6 +312,9 @@ order_cb (void *cls,
       }
     }
     break;
+  case MHD_HTTP_NOT_FOUND:
+    TALER_TESTING_interpreter_next (ps->is);
+    return;
   case MHD_HTTP_GONE:
     TALER_TESTING_interpreter_next (ps->is);
     return;
@@ -385,7 +388,7 @@ orders_run (void *cls,
   }
 
   if (NULL == json_object_get (order,
-                               "order_id")) 
+                               "order_id"))
   {
     struct GNUNET_TIME_Absolute now;
     char *order_id;

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]