From 30632e7935c50e513d057fa73f873426cec5a270 Mon Sep 17 00:00:00 2001
From: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Date: Mon, 6 Dec 2021 16:12:47 -0500
Subject: [PATCH] observe immutable spending success only after success

---
 src/_zkapauthorizer/_storage_server.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/_zkapauthorizer/_storage_server.py b/src/_zkapauthorizer/_storage_server.py
index 7cd3cd2..4be0a04 100644
--- a/src/_zkapauthorizer/_storage_server.py
+++ b/src/_zkapauthorizer/_storage_server.py
@@ -250,9 +250,6 @@ class ZKAPAuthorizerStorageServer(Referenceable):
             self._signing_key,
         )
 
-        # XXX Some shares may exist already so those passes aren't necessarily
-        # spent...
-        self._metric_spending_successes.observe(len(validation.valid))
 
         # Note: The *allocate_buckets* protocol allows for some shares to
         # already exist on the server.  When this is the case, the cost of the
@@ -281,6 +278,10 @@ class ZKAPAuthorizerStorageServer(Referenceable):
             allocated_size,
         )
 
+        # XXX Some shares may exist already so those passes aren't necessarily
+        # spent...
+        self._metric_spending_successes.observe(len(validation.valid))
+
         alreadygot, bucketwriters = self._original._allocate_buckets(
             storage_index,
             renew_secret,
-- 
GitLab