always include a useful message in calls to log.err #1770
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#1770
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
From #1768:
We should fix all of these.
Could we make a utility function that extracts the current stack trace and encodes that into the
why=
argument? Then lazy programmers could just call that function instead of writing awhy=
explanation themselves.Hm, maybe. It'd have to look something like this:
(since
log.err
is usually added to the end of a Deferredchain, by the time it's called, the stack no longer contains any
information about what caused the
log.err
to be added)My problem with that is twofold:
terminateDeferredChain()
gets called every time, not justAlso, the "util.terminateDeferredChain(d)" at the end of a series
of "d.addCallback" lines would look kind of out-of-place, but maybe
I could get used to it.
It might be worth testing how expensive it is to extract just a
single stack frame, instead of the whole traceback. If
terminateDeferredChain() could grab just the file+lineno+name of
the calling function, that'd contain as much information as a UMID
but tolerate cut-and-paste coding a lot better. OTOH, a static UMID
is super-fast.