[master] 8c9cde8fc polish shard director logging
Nils Goroll
nils.goroll at uplex.de
Sat Oct 10 10:24:07 UTC 2020
commit 8c9cde8fc3eb691f87757578158447bd4b8f7802
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Sat Oct 10 12:21:14 2020 +0200
polish shard director logging
SLT_Notice requires messages to be prefixed by the vmod name. Using this
format for notices only would appear inconsistent, so we change all
shard log messages to that format.
diff --git a/bin/varnishtest/tests/d00015.vtc b/bin/varnishtest/tests/d00015.vtc
index 0a5b0da57..d87bd4498 100644
--- a/bin/varnishtest/tests/d00015.vtc
+++ b/bin/varnishtest/tests/d00015.vtc
@@ -199,75 +199,75 @@ logexpect l1 -v v1 -g raw -d 1 {
expect 0 0 CLI {^Rd vcl.load}
expect 0 0 VCL_Log {^-- invalid replicas$}
- expect 0 0 Error {^shard vd: .reconfigure.. invalid replicas argument 0}
+ expect 0 0 Error {^vmod_directors shard vd: .reconfigure.. invalid replicas argument 0}
expect 0 0 VCL_Log {^reconfigure failed}
expect 0 0 VCL_Log {^-- no changes - no debug output$}
expect 0 0 VCL_Log {^-- no backends$}
- expect 0 0 Error {^shard vd: .reconfigure.. no backends}
+ expect 0 0 Error {^vmod_directors shard vd: .reconfigure.. no backends}
expect 0 0 VCL_Log {^reconfigure failed}
expect 0 0 VCL_Log {^-- one backend$}
- expect 0 0 Debug {^shard:.*point = f08ad325, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f08ad325, host = 0}
expect 0 0 VCL_Log {^-- no change - no output$}
expect 0 0 VCL_Log {^-- change, clear, no backends$}
- expect 0 0 Error {^shard vd: .reconfigure.. no backends}
+ expect 0 0 Error {^vmod_directors shard vd: .reconfigure.. no backends}
expect 0 0 VCL_Log {^reconfigure failed}
expect 0 0 VCL_Log {^-- duplicate add$}
- expect 0 0 Notice {^shard vd: backend s1 already exists - skipping$}
- expect 0 0 Debug {^shard:.*point = 6e040182, host = 1}
- expect 0 0 Debug {^shard:.*point = f08ad325, host = 0}
+ expect 0 0 Notice {^vmod_directors shard vd: backend s1 already exists - skipping$}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6e040182, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f08ad325, host = 0}
expect 0 0 VCL_Log {^-- duplicate add with idents$}
- expect 0 0 Notice {^shard vd: backend s1 already exists - skipping}
- expect 0 0 Notice {^shard vd: backend s1/s1_1 already exists - skipping}
- expect 0 0 Notice {^shard vd: backend s1/s1_2 already exists - skipping}
- expect 0 0 Debug {^shard:.*point = 6e040182, host = 3}
- expect 0 0 Debug {^shard:.*point = 732c7bbe, host = 2}
- expect 0 0 Debug {^shard:.*point = bae80b0b, host = 1}
- expect 0 0 Debug {^shard:.*point = f08ad325, host = 0}
+ expect 0 0 Notice {^vmod_directors shard vd: backend s1 already exists - skipping}
+ expect 0 0 Notice {^vmod_directors shard vd: backend s1/s1_1 already exists - skipping}
+ expect 0 0 Notice {^vmod_directors shard vd: backend s1/s1_2 already exists - skipping}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6e040182, host = 3}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 732c7bbe, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = bae80b0b, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f08ad325, host = 0}
expect 0 0 VCL_Log {^-- remove s1_2 specifically$}
- expect 0 0 Debug {^shard:.*point = 6e040182, host = 2}
- expect 0 0 Debug {^shard:.*point = bae80b0b, host = 1}
- expect 0 0 Debug {^shard:.*point = f08ad325, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6e040182, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = bae80b0b, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f08ad325, host = 0}
expect 0 0 VCL_Log {^-- remove all instances of s1$}
- expect 0 0 Debug {^shard:.*point = 6e040182, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6e040182, host = 0}
expect 0 0 VCL_Log {^-- re-add some - no 2nd director$}
- expect 0 0 Debug {^shard:.*point = 3d1fe97, host = 3}
- expect 0 0 Debug {^shard:.*point = a25a43b, host = 6}
- expect 0 0 Debug {^shard:.*point = 2b20d9a2, host = 1}
- expect 0 0 Debug {^shard:.*point = 6337e62c, host = 8}
- expect 0 0 Debug {^shard:.*point = c9803f17, host = 5}
- expect 0 0 Debug {^shard:.*point = d51dafe6, host = 0}
- expect 0 0 Debug {^shard:.*point = eb74a7d5, host = 4}
- expect 0 0 Debug {^shard:.*point = f493ce58, host = 2}
- expect 0 0 Debug {^shard:.*point = fc1a5162, host = 7}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 3d1fe97, host = 3}
+ expect 0 0 Debug {^vmod_directors shard:.*point = a25a43b, host = 6}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 2b20d9a2, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6337e62c, host = 8}
+ expect 0 0 Debug {^vmod_directors shard:.*point = c9803f17, host = 5}
+ expect 0 0 Debug {^vmod_directors shard:.*point = d51dafe6, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = eb74a7d5, host = 4}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f493ce58, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = fc1a5162, host = 7}
expect 0 0 VCL_Log {^-- remove second-last$}
- expect 0 0 Debug {^shard:.*point = 3d1fe97, host = 3}
- expect 0 0 Debug {^shard:.*point = a25a43b, host = 6}
- expect 0 0 Debug {^shard:.*point = 2b20d9a2, host = 1}
- expect 0 0 Debug {^shard:.*point = 6337e62c, host = 7}
- expect 0 0 Debug {^shard:.*point = c9803f17, host = 5}
- expect 0 0 Debug {^shard:.*point = d51dafe6, host = 0}
- expect 0 0 Debug {^shard:.*point = eb74a7d5, host = 4}
- expect 0 0 Debug {^shard:.*point = f493ce58, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 3d1fe97, host = 3}
+ expect 0 0 Debug {^vmod_directors shard:.*point = a25a43b, host = 6}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 2b20d9a2, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6337e62c, host = 7}
+ expect 0 0 Debug {^vmod_directors shard:.*point = c9803f17, host = 5}
+ expect 0 0 Debug {^vmod_directors shard:.*point = d51dafe6, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = eb74a7d5, host = 4}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f493ce58, host = 2}
expect 0 0 VCL_Log {^-- remove last$}
- expect 0 0 Debug {^shard:.*point = 3d1fe97, host = 3}
- expect 0 0 Debug {^shard:.*point = a25a43b, host = 6}
- expect 0 0 Debug {^shard:.*point = 2b20d9a2, host = 1}
- expect 0 0 Debug {^shard:.*point = c9803f17, host = 5}
- expect 0 0 Debug {^shard:.*point = d51dafe6, host = 0}
- expect 0 0 Debug {^shard:.*point = eb74a7d5, host = 4}
- expect 0 0 Debug {^shard:.*point = f493ce58, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 3d1fe97, host = 3}
+ expect 0 0 Debug {^vmod_directors shard:.*point = a25a43b, host = 6}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 2b20d9a2, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = c9803f17, host = 5}
+ expect 0 0 Debug {^vmod_directors shard:.*point = d51dafe6, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = eb74a7d5, host = 4}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f493ce58, host = 2}
expect 0 0 VCL_Log {^-- END$}
} -start
diff --git a/bin/varnishtest/tests/d00016.vtc b/bin/varnishtest/tests/d00016.vtc
index a6a8ed70a..0c093a6ac 100644
--- a/bin/varnishtest/tests/d00016.vtc
+++ b/bin/varnishtest/tests/d00016.vtc
@@ -158,13 +158,13 @@ varnish v1 -vcl+backend {
logexpect l1 -v v1 -g raw -d 1 {
expect * 1001 VCL_Log {^-- invalid replicas$}
- expect 0 1001 Error {^shard vd: .reconfigure.. invalid replicas argument 0}
+ expect 0 1001 Error {^vmod_directors shard vd: .reconfigure.. invalid replicas argument 0}
expect 0 1001 VCL_Log {^reconfigure failed}
expect 0 1001 VCL_Log {^-- no changes - no debug output$}
expect 0 1001 VCL_Log {^-- no backends$}
- expect 0 1001 Error {^shard vd: .reconfigure.. no backends}
+ expect 0 1001 Error {^vmod_directors shard vd: .reconfigure.. no backends}
expect 0 1001 VCL_Log {^reconfigure failed}
expect 0 1001 VCL_Log {^-- one backend$}
@@ -172,15 +172,15 @@ logexpect l1 -v v1 -g raw -d 1 {
expect 0 1001 VCL_Log {^-- no change - no output$}
expect 0 1001 VCL_Log {^-- change, clear, no backends$}
- expect 0 1001 Error {^shard vd: .reconfigure.. no backends}
+ expect 0 1001 Error {^vmod_directors shard vd: .reconfigure.. no backends}
expect 0 1001 VCL_Log {^reconfigure failed}
expect 0 1001 VCL_Log {^-- duplicate add$}
- expect 0 1001 Notice {^shard vd: backend s1 already exists - skipping$}
+ expect 0 1001 Notice {^vmod_directors shard vd: backend s1 already exists - skipping$}
expect 0 1001 VCL_Log {^-- duplicate add with idents$}
- expect 0 1001 Notice {^shard vd: backend s1 already exists - skipping}
- expect 0 1001 Notice {^shard vd: backend s1/s1_1 already exists - skipping}
- expect 0 1001 Notice {^shard vd: backend s1/s1_2 already exists - skipping}
+ expect 0 1001 Notice {^vmod_directors shard vd: backend s1 already exists - skipping}
+ expect 0 1001 Notice {^vmod_directors shard vd: backend s1/s1_1 already exists - skipping}
+ expect 0 1001 Notice {^vmod_directors shard vd: backend s1/s1_2 already exists - skipping}
expect 0 1001 VCL_Log {^-- remove s1_2 specifically$}
expect 0 1001 VCL_Log {^-- remove all instances of s1$}
expect 0 1001 VCL_Log {^-- re-add some - no 2nd director$}
@@ -190,41 +190,41 @@ logexpect l1 -v v1 -g raw -d 1 {
}
logexpect l2 -v v1 -g raw -d 1 {
- expect * 0 Debug {^shard:.*point = f08ad325, host = 0}
- expect 0 0 Debug {^shard:.*point = 6e040182, host = 1}
- expect 0 0 Debug {^shard:.*point = f08ad325, host = 0}
- expect 0 0 Debug {^shard:.*point = 6e040182, host = 3}
- expect 0 0 Debug {^shard:.*point = 732c7bbe, host = 2}
- expect 0 0 Debug {^shard:.*point = bae80b0b, host = 1}
- expect 0 0 Debug {^shard:.*point = f08ad325, host = 0}
- expect 0 0 Debug {^shard:.*point = 6e040182, host = 2}
- expect 0 0 Debug {^shard:.*point = bae80b0b, host = 1}
- expect 0 0 Debug {^shard:.*point = f08ad325, host = 0}
- expect 0 0 Debug {^shard:.*point = 6e040182, host = 0}
- expect 0 0 Debug {^shard:.*point = 3d1fe97, host = 3}
- expect 0 0 Debug {^shard:.*point = a25a43b, host = 6}
- expect 0 0 Debug {^shard:.*point = 2b20d9a2, host = 1}
- expect 0 0 Debug {^shard:.*point = 6337e62c, host = 8}
- expect 0 0 Debug {^shard:.*point = c9803f17, host = 5}
- expect 0 0 Debug {^shard:.*point = d51dafe6, host = 0}
- expect 0 0 Debug {^shard:.*point = eb74a7d5, host = 4}
- expect 0 0 Debug {^shard:.*point = f493ce58, host = 2}
- expect 0 0 Debug {^shard:.*point = fc1a5162, host = 7}
- expect 0 0 Debug {^shard:.*point = 3d1fe97, host = 3}
- expect 0 0 Debug {^shard:.*point = a25a43b, host = 6}
- expect 0 0 Debug {^shard:.*point = 2b20d9a2, host = 1}
- expect 0 0 Debug {^shard:.*point = 6337e62c, host = 7}
- expect 0 0 Debug {^shard:.*point = c9803f17, host = 5}
- expect 0 0 Debug {^shard:.*point = d51dafe6, host = 0}
- expect 0 0 Debug {^shard:.*point = eb74a7d5, host = 4}
- expect 0 0 Debug {^shard:.*point = f493ce58, host = 2}
- expect 0 0 Debug {^shard:.*point = 3d1fe97, host = 3}
- expect 0 0 Debug {^shard:.*point = a25a43b, host = 6}
- expect 0 0 Debug {^shard:.*point = 2b20d9a2, host = 1}
- expect 0 0 Debug {^shard:.*point = c9803f17, host = 5}
- expect 0 0 Debug {^shard:.*point = d51dafe6, host = 0}
- expect 0 0 Debug {^shard:.*point = eb74a7d5, host = 4}
- expect 0 0 Debug {^shard:.*point = f493ce58, host = 2}
+ expect * 0 Debug {^vmod_directors shard:.*point = f08ad325, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6e040182, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f08ad325, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6e040182, host = 3}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 732c7bbe, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = bae80b0b, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f08ad325, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6e040182, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = bae80b0b, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f08ad325, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6e040182, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 3d1fe97, host = 3}
+ expect 0 0 Debug {^vmod_directors shard:.*point = a25a43b, host = 6}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 2b20d9a2, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6337e62c, host = 8}
+ expect 0 0 Debug {^vmod_directors shard:.*point = c9803f17, host = 5}
+ expect 0 0 Debug {^vmod_directors shard:.*point = d51dafe6, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = eb74a7d5, host = 4}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f493ce58, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = fc1a5162, host = 7}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 3d1fe97, host = 3}
+ expect 0 0 Debug {^vmod_directors shard:.*point = a25a43b, host = 6}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 2b20d9a2, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 6337e62c, host = 7}
+ expect 0 0 Debug {^vmod_directors shard:.*point = c9803f17, host = 5}
+ expect 0 0 Debug {^vmod_directors shard:.*point = d51dafe6, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = eb74a7d5, host = 4}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f493ce58, host = 2}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 3d1fe97, host = 3}
+ expect 0 0 Debug {^vmod_directors shard:.*point = a25a43b, host = 6}
+ expect 0 0 Debug {^vmod_directors shard:.*point = 2b20d9a2, host = 1}
+ expect 0 0 Debug {^vmod_directors shard:.*point = c9803f17, host = 5}
+ expect 0 0 Debug {^vmod_directors shard:.*point = d51dafe6, host = 0}
+ expect 0 0 Debug {^vmod_directors shard:.*point = eb74a7d5, host = 4}
+ expect 0 0 Debug {^vmod_directors shard:.*point = f493ce58, host = 2}
}
logexpect l1 -start
diff --git a/bin/varnishtest/tests/d00017.vtc b/bin/varnishtest/tests/d00017.vtc
index 36793a386..eeabcde5f 100644
--- a/bin/varnishtest/tests/d00017.vtc
+++ b/bin/varnishtest/tests/d00017.vtc
@@ -56,91 +56,91 @@ varnish v1 -vcl+backend {
# check that the hashcircle points are decremented by one compared to vslp
#
# generated from vslp test output
-# perl -ne </tmp/vslp_v0.log 'if (/VSLP hashcircle/) { my @f=split; $f[9] =~ s/\]/./; $f[13] =~ s/,//; $f[13]=hex($f[13]) - 1; $f[16] =~ s/\}//; printf ("\texpect 0 = Debug {^shard: hashcircle.* %s = .point = %8x, host = %2d.}\n", $f[9], $f[13], $f[16]); }' >/tmp/regression.logexp
+# perl -ne </tmp/vslp_v0.log 'if (/VSLP hashcircle/) { my @f=split; $f[9] =~ s/\]/./; $f[13] =~ s/,//; $f[13]=hex($f[13]) - 1; $f[16] =~ s/\}//; printf ("\texpect 0 = Debug {^vmod_directors shard: hashcircle.* %s = .point = %8x, host = %2d.}\n", $f[9], $f[13], $f[16]); }' >/tmp/regression.logexp
logexpect l1 -v v1 -g raw -d 1 {
expect 0 0 CLI "^Rd vcl.load"
- expect 0 = Debug {^shard: hashcircle.* 0. = .point = 3b6b56a, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 1. = .point = 66986a7, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 2. = .point = 7e41e30, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 3. = .point = b749e7b, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 4. = .point = e543430, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 5. = .point = 10136c05, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 6. = .point = 102d847f, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 7. = .point = 1112f910, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 8. = .point = 1119a7c7, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 9. = .point = 22464ee9, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 10. = .point = 22b35675, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 11. = .point = 2363bebb, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 12. = .point = 259eeccf, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 13. = .point = 26f0c3e7, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 14. = .point = 28340f35, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 15. = .point = 285e8475, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 16. = .point = 28ec7a6f, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 17. = .point = 2da0e37b, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 18. = .point = 3392487a, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 19. = .point = 37597c4c, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 20. = .point = 4b1f5b22, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 21. = .point = 523723f2, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 22. = .point = 539234db, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 23. = .point = 564ca84f, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 24. = .point = 5d2df428, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 25. = .point = 5fa294ee, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 26. = .point = 60dded53, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 27. = .point = 6257bc27, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 28. = .point = 64014b25, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 29. = .point = 6bfd5a2d, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 30. = .point = 6e040182, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 31. = .point = 6e3819f7, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 32. = .point = 7232b381, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 33. = .point = 74c384ad, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 34. = .point = 83ce71ce, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 35. = .point = 888b6447, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 36. = .point = 8997c018, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 37. = .point = 8aa6b5b4, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 38. = .point = 8b47e6ac, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 39. = .point = 8bc8bc11, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 40. = .point = 8e2d3849, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 41. = .point = 8e7e012c, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 42. = .point = 99892987, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 43. = .point = 9a6f2f00, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 44. = .point = 9ef9125d, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 45. = .point = 9f33cd30, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 46. = .point = 9fc69b51, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 47. = .point = a19f99eb, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 48. = .point = a28b9595, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 49. = .point = a8afe9c4, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 50. = .point = ad923ad3, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 51. = .point = ae8946c6, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 52. = .point = b197e339, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 53. = .point = b3c305e6, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 54. = .point = b6bf43ea, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 55. = .point = b9004d3d, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 56. = .point = bbcc0bad, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 57. = .point = c2542a5d, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 58. = .point = c6c43fa7, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 59. = .point = c945958a, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 60. = .point = cbd9198a, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 61. = .point = d4c93105, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 62. = .point = d7de63b6, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 63. = .point = d937a7df, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 64. = .point = dac52229, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 65. = .point = db7840f0, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 66. = .point = dd5c6bef, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 67. = .point = dfd5333b, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 68. = .point = e991584c, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 69. = .point = ec8891c5, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 70. = .point = ef6b4ab5, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 71. = .point = f08ad325, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 72. = .point = f3325ba2, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 73. = .point = f6530dd1, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 74. = .point = fc28e8d2, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 0. = .point = 3b6b56a, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 1. = .point = 66986a7, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 2. = .point = 7e41e30, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 3. = .point = b749e7b, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 4. = .point = e543430, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 5. = .point = 10136c05, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 6. = .point = 102d847f, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 7. = .point = 1112f910, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 8. = .point = 1119a7c7, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 9. = .point = 22464ee9, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 10. = .point = 22b35675, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 11. = .point = 2363bebb, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 12. = .point = 259eeccf, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 13. = .point = 26f0c3e7, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 14. = .point = 28340f35, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 15. = .point = 285e8475, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 16. = .point = 28ec7a6f, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 17. = .point = 2da0e37b, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 18. = .point = 3392487a, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 19. = .point = 37597c4c, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 20. = .point = 4b1f5b22, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 21. = .point = 523723f2, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 22. = .point = 539234db, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 23. = .point = 564ca84f, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 24. = .point = 5d2df428, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 25. = .point = 5fa294ee, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 26. = .point = 60dded53, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 27. = .point = 6257bc27, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 28. = .point = 64014b25, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 29. = .point = 6bfd5a2d, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 30. = .point = 6e040182, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 31. = .point = 6e3819f7, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 32. = .point = 7232b381, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 33. = .point = 74c384ad, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 34. = .point = 83ce71ce, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 35. = .point = 888b6447, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 36. = .point = 8997c018, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 37. = .point = 8aa6b5b4, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 38. = .point = 8b47e6ac, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 39. = .point = 8bc8bc11, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 40. = .point = 8e2d3849, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 41. = .point = 8e7e012c, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 42. = .point = 99892987, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 43. = .point = 9a6f2f00, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 44. = .point = 9ef9125d, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 45. = .point = 9f33cd30, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 46. = .point = 9fc69b51, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 47. = .point = a19f99eb, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 48. = .point = a28b9595, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 49. = .point = a8afe9c4, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 50. = .point = ad923ad3, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 51. = .point = ae8946c6, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 52. = .point = b197e339, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 53. = .point = b3c305e6, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 54. = .point = b6bf43ea, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 55. = .point = b9004d3d, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 56. = .point = bbcc0bad, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 57. = .point = c2542a5d, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 58. = .point = c6c43fa7, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 59. = .point = c945958a, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 60. = .point = cbd9198a, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 61. = .point = d4c93105, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 62. = .point = d7de63b6, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 63. = .point = d937a7df, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 64. = .point = dac52229, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 65. = .point = db7840f0, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 66. = .point = dd5c6bef, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 67. = .point = dfd5333b, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 68. = .point = e991584c, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 69. = .point = ec8891c5, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 70. = .point = ef6b4ab5, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 71. = .point = f08ad325, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 72. = .point = f3325ba2, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 73. = .point = f6530dd1, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 74. = .point = fc28e8d2, host = 2.}
expect 0 = CLI Loaded
- expect * = Debug {^shard: lookup key 68b902f7 idx 29 host 0}
- expect * = Debug {^shard: lookup key 39dc4613 idx 20 host 1}
- expect * = Debug {^shard: lookup key c7793505 idx 59 host 2}
+ expect * = Debug {^vmod_directors shard: lookup key 68b902f7 idx 29 host 0}
+ expect * = Debug {^vmod_directors shard: lookup key 39dc4613 idx 20 host 1}
+ expect * = Debug {^vmod_directors shard: lookup key c7793505 idx 59 host 2}
} -start
client c1 {
diff --git a/bin/varnishtest/tests/d00030.vtc b/bin/varnishtest/tests/d00030.vtc
index 912314b03..c83ba5db9 100644
--- a/bin/varnishtest/tests/d00030.vtc
+++ b/bin/varnishtest/tests/d00030.vtc
@@ -24,14 +24,14 @@ varnish v1 -vcl {
logexpect l1 -v v1 -g raw -d 1 {
expect 0 0 CLI {^Rd vcl.load}
- expect 0 0 Error {by=BLOB but no or empty key_blob - using key 0}
+ expect 0 0 Error {vmod_directors shard p: shard_param.set.. by=BLOB but no or empty key_blob - using key 0}
} -start -wait
logexpect l2 -v v1 -g raw {
- expect * 1001 VCL_Error {shard .backend param invalid}
+ expect * 1001 VCL_Error {vmod_directors shard shard: .backend.key_blob. param invalid}
} -start
logexpect l3 -v v1 -g raw {
- expect * 1003 VCL_Error {shard_param.set.. may only be used in vcl_init and in backend/pipe context}
+ expect * 1003 VCL_Error {vmod_directors shard p: shard_param.set.. may only be used in vcl_init and in backend/pipe context}
} -start
client c1 {
@@ -159,7 +159,7 @@ varnish v1 -errvcl {invalid warmup argument 1.1} {
}
}
-varnish v1 -errvcl {resolve=LAZY with other parameters can only be used in backend/pipe context} {
+varnish v1 -errvcl {vmod_directors shard shard: .backend(resolve=LAZY) with other parameters can only be used in backend/pipe context} {
import directors;
import blob;
@@ -172,7 +172,7 @@ varnish v1 -errvcl {resolve=LAZY with other parameters can only be used in backe
}
}
-varnish v1 -errvcl {resolve=NOW can not be used in vcl_init} {
+varnish v1 -errvcl {vmod_directors shard shard: .backend(resolve=NOW) can not be used in vcl_init{}/vcl_fini{}} {
import directors;
import blob;
diff --git a/bin/varnishtest/tests/d00041.vtc b/bin/varnishtest/tests/d00041.vtc
index 0f7d5b058..5d80e0c19 100644
--- a/bin/varnishtest/tests/d00041.vtc
+++ b/bin/varnishtest/tests/d00041.vtc
@@ -49,162 +49,162 @@ varnish v1 -vcl+backend {
logexpect l1 -v v1 -g raw -d 1 {
expect 0 0 CLI "^Rd vcl.load"
- expect 0 = Debug {^shard: hashcircle.* 0. = .point = *238d0ef, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 1. = .point = *321c598, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 2. = .point = *3b6b56a, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 3. = .point = *408ec1e, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 4. = .point = *66986a7, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 5. = .point = *7e41e30, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 6. = .point = *b749e7b, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 7. = .point = *e543430, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 8. = .point = *10136c05, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 9. = .point = *102d847f, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 10. = .point = *1112f910, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 11. = .point = *1119a7c7, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 12. = .point = *14d95c44, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 13. = .point = *150fea1f, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 14. = .point = *1643ecb6, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 15. = .point = *189ff2f2, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 16. = .point = *19cfe9f3, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 17. = .point = *1e1c78c3, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 18. = .point = *1fe0dea0, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 19. = .point = *22464ee9, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 20. = .point = *22b35675, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 21. = .point = *2363bebb, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 22. = .point = *24f827bb, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 23. = .point = *259eeccf, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 24. = .point = *26f0c3e7, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 25. = .point = *271874d4, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 26. = .point = *28340f35, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 27. = .point = *285e8475, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 28. = .point = *28ec7a6f, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 29. = .point = *299c6298, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 30. = .point = *2aedc3f7, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 31. = .point = *2b031742, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 32. = .point = *2da0e37b, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 33. = .point = *310bd2ca, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 34. = .point = *31e5f2df, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 35. = .point = *32d6b3ed, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 36. = .point = *33047373, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 37. = .point = *3392487a, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 38. = .point = *37597c4c, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 39. = .point = *3f6b2b89, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 40. = .point = *43cf6426, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 41. = .point = *46a58f28, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 42. = .point = *4b1f5b22, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 43. = .point = *523723f2, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 44. = .point = *539234db, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 45. = .point = *564ca84f, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 46. = .point = *58501380, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 47. = .point = *58704432, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 48. = .point = *5b1bcbbe, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 49. = .point = *5d2df428, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 50. = .point = *5fa294ee, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 51. = .point = *606fd878, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 52. = .point = *60dded53, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 53. = .point = *616cdb68, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 54. = .point = *6257bc27, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 55. = .point = *64014b25, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 56. = .point = *6918f467, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 57. = .point = *6a08c380, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 58. = .point = *6bfd5a2d, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 59. = .point = *6c0b607a, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 60. = .point = *6c74d296, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 61. = .point = *6e040182, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 62. = .point = *6e3819f7, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 63. = .point = *720ec1a4, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 64. = .point = *7232b381, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 65. = .point = *74c384ad, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 66. = .point = *76d47350, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 67. = .point = *791eb3a3, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 68. = .point = *7a048f20, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 69. = .point = *7f874929, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 70. = .point = *83ce71ce, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 71. = .point = *888b6447, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 72. = .point = *8997c018, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 73. = .point = *89b7d09c, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 74. = .point = *8aa6b5b4, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 75. = .point = *8ae34bde, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 76. = .point = *8b382e03, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 77. = .point = *8b47e6ac, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 78. = .point = *8bc76115, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 79. = .point = *8bc8bc11, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 80. = .point = *8e2d3849, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 81. = .point = *8e7e012c, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 82. = .point = *8f5b4c63, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 83. = .point = *94a94162, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 84. = .point = *99892987, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 85. = .point = *9a6f2f00, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 86. = .point = *9b970b49, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 87. = .point = *9e09a3a7, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 88. = .point = *9ef9125d, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 89. = .point = *9f33cd30, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 90. = .point = *9fc69b51, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 91. = .point = *a19f99eb, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 92. = .point = *a28b9595, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 93. = .point = *a3582038, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 94. = .point = *a4b6a3b9, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 95. = .point = *a66da9cb, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 96. = .point = *a8657c76, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 97. = .point = *a8afe9c4, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 98. = .point = *aa488703, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 99. = .point = *ac7b4454, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 100. = .point = *ad923ad3, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 101. = .point = *ae8946c6, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 102. = .point = *b197e339, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 103. = .point = *b3c305e6, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 104. = .point = *b4dab004, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 105. = .point = *b6bf43ea, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 106. = .point = *b9004d3d, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 107. = .point = *b96b6455, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 108. = .point = *b9a0edb9, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 109. = .point = *b9ec6465, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 110. = .point = *bb8eed4d, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 111. = .point = *bbcc0bad, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 112. = .point = *bcfea141, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 113. = .point = *be300622, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 114. = .point = *bf514d68, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 115. = .point = *c1afc7d2, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 116. = .point = *c2542a5d, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 117. = .point = *c6c43fa7, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 118. = .point = *c945958a, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 119. = .point = *c9f304a4, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 120. = .point = *cb896aa8, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 121. = .point = *cbd9198a, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 122. = .point = *ccd61dad, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 123. = .point = *d07e4431, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 124. = .point = *d21fe35f, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 125. = .point = *d4c93105, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 126. = .point = *d570b815, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 127. = .point = *d7de63b6, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 128. = .point = *d8634aef, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 129. = .point = *d92d916d, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 130. = .point = *d937a7df, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 131. = .point = *dac52229, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 132. = .point = *db7840f0, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 133. = .point = *dd5c6bef, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 134. = .point = *dded5798, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 135. = .point = *dfd5333b, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 136. = .point = *e183345a, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 137. = .point = *e2c71c27, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 138. = .point = *e49bf9d8, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 139. = .point = *e72bc224, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 140. = .point = *e8b27f41, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 141. = .point = *e991584c, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 142. = .point = *ea201c5e, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 143. = .point = *ec8891c5, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 144. = .point = *edcc8dd9, host = 1.}
- expect 0 = Debug {^shard: hashcircle.* 145. = .point = *ef6b4ab5, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 146. = .point = *f08ad325, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 147. = .point = *f3325ba2, host = 2.}
- expect 0 = Debug {^shard: hashcircle.* 148. = .point = *f6530dd1, host = 0.}
- expect 0 = Debug {^shard: hashcircle.* 149. = .point = *fc28e8d2, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 0. = .point = *238d0ef, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 1. = .point = *321c598, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 2. = .point = *3b6b56a, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 3. = .point = *408ec1e, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 4. = .point = *66986a7, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 5. = .point = *7e41e30, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 6. = .point = *b749e7b, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 7. = .point = *e543430, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 8. = .point = *10136c05, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 9. = .point = *102d847f, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 10. = .point = *1112f910, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 11. = .point = *1119a7c7, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 12. = .point = *14d95c44, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 13. = .point = *150fea1f, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 14. = .point = *1643ecb6, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 15. = .point = *189ff2f2, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 16. = .point = *19cfe9f3, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 17. = .point = *1e1c78c3, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 18. = .point = *1fe0dea0, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 19. = .point = *22464ee9, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 20. = .point = *22b35675, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 21. = .point = *2363bebb, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 22. = .point = *24f827bb, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 23. = .point = *259eeccf, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 24. = .point = *26f0c3e7, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 25. = .point = *271874d4, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 26. = .point = *28340f35, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 27. = .point = *285e8475, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 28. = .point = *28ec7a6f, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 29. = .point = *299c6298, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 30. = .point = *2aedc3f7, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 31. = .point = *2b031742, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 32. = .point = *2da0e37b, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 33. = .point = *310bd2ca, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 34. = .point = *31e5f2df, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 35. = .point = *32d6b3ed, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 36. = .point = *33047373, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 37. = .point = *3392487a, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 38. = .point = *37597c4c, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 39. = .point = *3f6b2b89, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 40. = .point = *43cf6426, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 41. = .point = *46a58f28, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 42. = .point = *4b1f5b22, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 43. = .point = *523723f2, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 44. = .point = *539234db, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 45. = .point = *564ca84f, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 46. = .point = *58501380, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 47. = .point = *58704432, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 48. = .point = *5b1bcbbe, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 49. = .point = *5d2df428, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 50. = .point = *5fa294ee, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 51. = .point = *606fd878, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 52. = .point = *60dded53, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 53. = .point = *616cdb68, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 54. = .point = *6257bc27, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 55. = .point = *64014b25, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 56. = .point = *6918f467, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 57. = .point = *6a08c380, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 58. = .point = *6bfd5a2d, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 59. = .point = *6c0b607a, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 60. = .point = *6c74d296, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 61. = .point = *6e040182, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 62. = .point = *6e3819f7, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 63. = .point = *720ec1a4, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 64. = .point = *7232b381, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 65. = .point = *74c384ad, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 66. = .point = *76d47350, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 67. = .point = *791eb3a3, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 68. = .point = *7a048f20, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 69. = .point = *7f874929, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 70. = .point = *83ce71ce, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 71. = .point = *888b6447, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 72. = .point = *8997c018, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 73. = .point = *89b7d09c, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 74. = .point = *8aa6b5b4, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 75. = .point = *8ae34bde, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 76. = .point = *8b382e03, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 77. = .point = *8b47e6ac, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 78. = .point = *8bc76115, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 79. = .point = *8bc8bc11, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 80. = .point = *8e2d3849, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 81. = .point = *8e7e012c, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 82. = .point = *8f5b4c63, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 83. = .point = *94a94162, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 84. = .point = *99892987, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 85. = .point = *9a6f2f00, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 86. = .point = *9b970b49, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 87. = .point = *9e09a3a7, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 88. = .point = *9ef9125d, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 89. = .point = *9f33cd30, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 90. = .point = *9fc69b51, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 91. = .point = *a19f99eb, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 92. = .point = *a28b9595, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 93. = .point = *a3582038, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 94. = .point = *a4b6a3b9, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 95. = .point = *a66da9cb, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 96. = .point = *a8657c76, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 97. = .point = *a8afe9c4, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 98. = .point = *aa488703, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 99. = .point = *ac7b4454, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 100. = .point = *ad923ad3, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 101. = .point = *ae8946c6, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 102. = .point = *b197e339, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 103. = .point = *b3c305e6, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 104. = .point = *b4dab004, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 105. = .point = *b6bf43ea, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 106. = .point = *b9004d3d, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 107. = .point = *b96b6455, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 108. = .point = *b9a0edb9, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 109. = .point = *b9ec6465, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 110. = .point = *bb8eed4d, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 111. = .point = *bbcc0bad, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 112. = .point = *bcfea141, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 113. = .point = *be300622, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 114. = .point = *bf514d68, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 115. = .point = *c1afc7d2, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 116. = .point = *c2542a5d, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 117. = .point = *c6c43fa7, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 118. = .point = *c945958a, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 119. = .point = *c9f304a4, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 120. = .point = *cb896aa8, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 121. = .point = *cbd9198a, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 122. = .point = *ccd61dad, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 123. = .point = *d07e4431, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 124. = .point = *d21fe35f, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 125. = .point = *d4c93105, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 126. = .point = *d570b815, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 127. = .point = *d7de63b6, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 128. = .point = *d8634aef, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 129. = .point = *d92d916d, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 130. = .point = *d937a7df, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 131. = .point = *dac52229, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 132. = .point = *db7840f0, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 133. = .point = *dd5c6bef, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 134. = .point = *dded5798, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 135. = .point = *dfd5333b, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 136. = .point = *e183345a, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 137. = .point = *e2c71c27, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 138. = .point = *e49bf9d8, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 139. = .point = *e72bc224, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 140. = .point = *e8b27f41, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 141. = .point = *e991584c, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 142. = .point = *ea201c5e, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 143. = .point = *ec8891c5, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 144. = .point = *edcc8dd9, host = 1.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 145. = .point = *ef6b4ab5, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 146. = .point = *f08ad325, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 147. = .point = *f3325ba2, host = 2.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 148. = .point = *f6530dd1, host = 0.}
+ expect 0 = Debug {^vmod_directors shard: hashcircle.* 149. = .point = *fc28e8d2, host = 2.}
expect 0 = CLI Loaded
- expect * = Debug {^shard: lookup key 564ca84f idx 45 host 0}
- expect * = Debug {^shard: lookup key 19cfe9f3 idx 16 host 1}
- expect * = Debug {^shard: lookup key 46a58f28 idx 41 host 2}
+ expect * = Debug {^vmod_directors shard: lookup key 564ca84f idx 45 host 0}
+ expect * = Debug {^vmod_directors shard: lookup key 19cfe9f3 idx 16 host 1}
+ expect * = Debug {^vmod_directors shard: lookup key 46a58f28 idx 41 host 2}
} -start
client c1 {
diff --git a/doc/changes.rst b/doc/changes.rst
index 7c4bbba93..59a6dc52a 100644
--- a/doc/changes.rst
+++ b/doc/changes.rst
@@ -48,6 +48,9 @@ Varnish Cache Next (2021-03-15)
* Shard director ``Error`` log messages with ``(notice)`` have been
turned into ``Notice`` log messages.
+* All shard ``Error`` and ``Notice`` messages now use the unified
+ prefix ``vmod_directors shard %s``.
+
================================
Varnish Cache 6.5.1 (2020-09-25)
================================
diff --git a/lib/libvmod_directors/shard_cfg.c b/lib/libvmod_directors/shard_cfg.c
index b61cb9392..a6e87fd5c 100644
--- a/lib/libvmod_directors/shard_cfg.c
+++ b/lib/libvmod_directors/shard_cfg.c
@@ -119,7 +119,7 @@ shard_change_get(VRT_CTX, struct sharddir * const shardd)
change = WS_Alloc(ctx->ws, sizeof(*change));
if (change == NULL) {
- VRT_fail(ctx, "could not get workspace");
+ shard_fail(ctx, shardd->name, "%s", "could not get workspace");
return (NULL);
}
@@ -151,7 +151,8 @@ shard_change_task_add(VRT_CTX, struct shard_change *change,
task = WS_Alloc(ctx->ws, sizeof(*task));
if (task == NULL) {
- VRT_fail(ctx, "could not get workspace for task");
+ shard_fail(ctx, change->shardd->name, "%s",
+ "could not get workspace for task");
return (NULL);
}
INIT_OBJ(task, SHARD_CHANGE_TASK_MAGIC);
@@ -179,7 +180,8 @@ shard_change_task_backend(VRT_CTX, struct sharddir *shardd,
b = WS_Alloc(ctx->ws, sizeof(*b));
if (b == NULL) {
- VRT_fail(ctx, "could not get workspace for change");
+ shard_fail(ctx, change->shardd->name, "%s",
+ "could not get workspace for task");
return (NULL);
}
@@ -598,8 +600,8 @@ shardcfg_apply_change(struct vsl_log *vsl, struct sharddir *shardd,
const char * const ident = b->ident;
- sharddir_err(vsl, SLT_Notice, "shard %s: backend %s%s%s "
- "already exists - skipping", shardd->name,
+ shard_notice(vsl, shardd->name,
+ "backend %s%s%s already exists - skipping",
VRT_BACKEND_string(b->backend),
ident ? "/" : "",
ident ? ident : "");
@@ -642,8 +644,8 @@ change_reconfigure(struct shard_change *change, VCL_INT replicas)
shardd->hashcircle = NULL;
if (shardd->n_backend == 0) {
- sharddir_err(change->vsl, SLT_Error, "shard %s: .reconfigure() "
- "no backends", shardd->name);
+ shard_err0(change->vsl, shardd->name,
+ ".reconfigure() no backends");
sharddir_unlock(shardd);
return (0);
}
@@ -660,9 +662,8 @@ shardcfg_reconfigure(VRT_CTX, struct sharddir *shardd, VCL_INT replicas)
CHECK_OBJ_NOTNULL(shardd, SHARDDIR_MAGIC);
if (replicas <= 0) {
- sharddir_err(ctx->vsl, SLT_Error,
- "shard %s: .reconfigure() invalid replicas argument %ld",
- shardd->name, replicas);
+ shard_err(ctx->vsl, shardd->name,
+ ".reconfigure() invalid replicas argument %ld", replicas);
return (0);
}
diff --git a/lib/libvmod_directors/shard_dir.c b/lib/libvmod_directors/shard_dir.c
index 1d4419b66..00b61aa98 100644
--- a/lib/libvmod_directors/shard_dir.c
+++ b/lib/libvmod_directors/shard_dir.c
@@ -78,7 +78,7 @@ sharddir_debug(struct sharddir *shardd, const uint32_t flags)
}
void
-sharddir_err(struct vsl_log *vsl, enum VSL_tag_e tag, const char *fmt, ...)
+sharddir_log(struct vsl_log *vsl, enum VSL_tag_e tag, const char *fmt, ...)
{
va_list ap;
@@ -242,11 +242,11 @@ validate_alt(VRT_CTX, const struct sharddir *shardd, VCL_INT *alt)
const VCL_INT alt_max = shardd->n_backend - 1;
if (*alt < 0) {
- shard_err(ctx, shardd,
+ shard_err(ctx->vsl, shardd->name,
"invalid negative parameter alt=%ld, set to 0", *alt);
*alt = 0;
} else if (*alt > alt_max) {
- shard_err(ctx, shardd,
+ shard_err(ctx->vsl, shardd->name,
"parameter alt=%ld limited to %ld", *alt, alt_max);
*alt = alt_max;
}
@@ -408,7 +408,7 @@ sharddir_pick_be(VRT_CTX, struct sharddir *shardd, uint32_t key, VCL_INT alt,
sharddir_rdlock(shardd);
if (shardd->n_backend == 0) {
- shard_err0(ctx, shardd, "no backends");
+ shard_err0(ctx->vsl, shardd->name, "no backends");
sharddir_unlock(shardd);
return (NULL);
}
diff --git a/lib/libvmod_directors/shard_dir.h b/lib/libvmod_directors/shard_dir.h
index 27c0aee60..4ec22a1d2 100644
--- a/lib/libvmod_directors/shard_dir.h
+++ b/lib/libvmod_directors/shard_dir.h
@@ -89,23 +89,25 @@ sharddir_backend(const struct sharddir *shardd, unsigned id)
#define SHDBG(flag, shardd, ...) \
do { \
if ((shardd)->debug_flags & (flag)) \
- VSL(SLT_Debug, 0, "shard: " __VA_ARGS__); \
+ VSL(SLT_Debug, 0, "vmod_directors shard: " \
+ __VA_ARGS__); \
} while (0)
-#define shard_err(ctx, shardd, fmt, ...) \
- do { \
- sharddir_err((ctx)->vsl, SLT_Error, "shard %s: " fmt, \
- (shardd)->name, __VA_ARGS__); \
- } while (0)
+#define shard_log(vsl, tag, name, fmt, ...) \
+ sharddir_log(vsl, tag, "vmod_directors shard %s: " fmt, \
+ name, __VA_ARGS__)
-#define shard_err0(ctx, shardd, msg) \
- do { \
- sharddir_err((ctx)->vsl, SLT_Error, "shard %s: %s", \
- (shardd)->name, (msg)); \
- } while (0)
+#define shard_fail(ctx, name, fmt, ...) \
+ VRT_fail(ctx, "vmod_directors shard %s: " fmt, name, __VA_ARGS__)
+#define shard_err(vsl, name, fmt, ...) \
+ shard_log(vsl, SLT_Error, name, fmt, __VA_ARGS__)
+#define shard_err0(vsl, name, msg) \
+ shard_log(vsl, SLT_Error, name, "%s", msg)
+#define shard_notice(vsl, name, fmt, ...) \
+ shard_log(vsl, SLT_Notice, name, fmt, __VA_ARGS__)
void sharddir_debug(struct sharddir *shardd, const uint32_t flags);
-void sharddir_err(struct vsl_log *, enum VSL_tag_e tag, const char *fmt, ...);
+void sharddir_log(struct vsl_log *, enum VSL_tag_e tag, const char *fmt, ...);
void sharddir_new(struct sharddir **sharddp, const char *vcl_name,
const struct vmod_directors_shard_param *param);
void sharddir_set_param(struct sharddir *shardd,
diff --git a/lib/libvmod_directors/vmod_directors.vcc b/lib/libvmod_directors/vmod_directors.vcc
index 161841531..ddcbf6a3a 100644
--- a/lib/libvmod_directors/vmod_directors.vcc
+++ b/lib/libvmod_directors/vmod_directors.vcc
@@ -344,12 +344,12 @@ Error Reporting
Failing methods should report errors to VSL with the Error tag, so
when configuring the shard director, you are advised to check::
- varnishlog -I Error:^shard
+ varnishlog -I Error:^vmod_directors.shard
Additional information may be provided as Notices, which can be
checked using
- varnishlog -I Notice:^shard
+ varnishlog -I Notice:^vmod_directors.shard
$Method VOID .set_warmup(REAL probability=0.0)
diff --git a/lib/libvmod_directors/vmod_shard.c b/lib/libvmod_directors/vmod_shard.c
index 42dbcaf85..5e0137bbc 100644
--- a/lib/libvmod_directors/vmod_shard.c
+++ b/lib/libvmod_directors/vmod_shard.c
@@ -266,7 +266,7 @@ vmod_shard_set_warmup(VRT_CTX, struct vmod_directors_shard *vshard,
{
CHECK_OBJ_NOTNULL(vshard, VMOD_SHARD_SHARD_MAGIC);
if (probability < 0 || probability >= 1) {
- shard_err(ctx, vshard->shardd,
+ shard_notice(ctx->vsl, vshard->shardd->name,
".set_warmup(%f) ignored", probability);
return;
}
@@ -297,7 +297,8 @@ vmod_shard_associate(VRT_CTX,
ppt = shard_param_blob(b);
if (ppt == NULL) {
- VRT_fail(ctx, "shard .associate param invalid");
+ shard_fail(ctx, vshard->shardd->name, "%s",
+ "shard .associate param invalid");
return;
}
@@ -313,8 +314,8 @@ vmod_shard_add_backend(VRT_CTX, struct vmod_directors_shard *vshard,
CHECK_OBJ_NOTNULL(vshard, VMOD_SHARD_SHARD_MAGIC);
if (args->backend == NULL) {
- VRT_fail(ctx, "%s: NULL backend cannot be added",
- vshard->shardd->name);
+ shard_fail(ctx, vshard->shardd->name, "%s",
+ "NULL backend cannot be added");
return (0);
}
@@ -322,7 +323,7 @@ vmod_shard_add_backend(VRT_CTX, struct vmod_directors_shard *vshard,
if (args->weight >= 1)
weight = args->weight;
else
- shard_err(ctx, vshard->shardd,
+ shard_notice(ctx->vsl, vshard->shardd->name,
".add_backend(weight=%f) ignored", args->weight);
}
@@ -342,9 +343,8 @@ vmod_shard_remove_backend(VRT_CTX, struct vmod_directors_shard *vshard,
CHECK_OBJ_NOTNULL(vshard, VMOD_SHARD_SHARD_MAGIC);
if (be == NULL && ident == NULL) {
- VRT_fail(ctx, "%s.backend_remove(): "
- "either backend or ident are required",
- vshard->shardd->name);
+ shard_fail(ctx, vshard->shardd->name, "%s",
+ ".backend_remove(): either backend or ident are required");
return (0);
}
@@ -499,7 +499,7 @@ shard_param_set_mask(const struct VARGS(shard_param_set) * const a)
*/
static struct vmod_directors_shard_param *
shard_param_args(VRT_CTX,
- struct vmod_directors_shard_param *p, const char *who,
+ struct vmod_directors_shard_param *p, const char *func,
uint32_t args, VCL_ENUM by_s, VCL_INT key_int, VCL_BLOB key_blob,
VCL_INT alt, VCL_REAL warmup, VCL_BOOL rampup, VCL_ENUM healthy_s)
{
@@ -516,16 +516,15 @@ shard_param_args(VRT_CTX,
/* by_s / key_int / key_blob */
if (by_s == VENUM(KEY)) {
if ((args & arg_key) == 0) {
- VRT_fail(ctx, "%s %s: "
- "missing key argument with by=%s",
- who, p->vcl_name, by_s);
+ shard_fail(ctx, p->vcl_name,
+ "%s missing key argument with by=%s",
+ func, by_s);
return (NULL);
}
if (key_int < 0 || key_int > UINT32_MAX) {
- VRT_fail(ctx, "%s %s: "
- "invalid key argument %jd with by=%s",
- who, p->vcl_name,
- (intmax_t)key_int, by_s);
+ shard_fail(ctx, p->vcl_name,
+ "%s invalid key argument %jd with by=%s",
+ func, (intmax_t)key_int, by_s);
return (NULL);
}
assert(key_int >= 0);
@@ -533,26 +532,24 @@ shard_param_args(VRT_CTX,
p->key = (uint32_t)key_int;
} else if (by_s == VENUM(BLOB)) {
if ((args & arg_key_blob) == 0) {
- VRT_fail(ctx, "%s %s: "
- "missing key_blob argument with by=%s",
- who, p->vcl_name, by_s);
+ shard_fail(ctx, p->vcl_name,
+ "%s missing key_blob argument with by=%s",
+ func, by_s);
return (NULL);
}
if (key_blob == NULL || key_blob->len == 0 ||
key_blob->blob == NULL) {
- sharddir_err(ctx->vsl, SLT_Error, "%s %s: "
- "by=BLOB but no or empty key_blob "
- "- using key 0",
- who, p->vcl_name);
+ shard_err(ctx->vsl, p->vcl_name,
+ "%s by=BLOB but no or empty key_blob - using key 0",
+ func);
p->key = 0;
} else
p->key = shard_blob_key(key_blob);
} else if (by_s == VENUM(HASH) || by_s == VENUM(URL)) {
if (args & (arg_key|arg_key_blob)) {
- VRT_fail(ctx, "%s %s: "
- "key and key_blob arguments are "
- "invalid with by=%s",
- who, p->vcl_name, by_s);
+ shard_fail(ctx, p->vcl_name,
+ "%s key and key_blob arguments are "
+ "invalid with by=%s", func, by_s);
return (NULL);
}
} else {
@@ -562,9 +559,9 @@ shard_param_args(VRT_CTX,
if (args & arg_alt) {
if (alt < 0) {
- VRT_fail(ctx, "%s %s: "
- "invalid alt argument %jd",
- who, p->vcl_name, (intmax_t)alt);
+ shard_fail(ctx, p->vcl_name,
+ "%s invalid alt argument %jd",
+ func, (intmax_t)alt);
return (NULL);
}
p->alt = alt;
@@ -572,9 +569,9 @@ shard_param_args(VRT_CTX,
if (args & arg_warmup) {
if ((warmup < 0 && warmup != -1) || warmup > 1) {
- VRT_fail(ctx, "%s %s: "
- "invalid warmup argument %f",
- who, p->vcl_name, warmup);
+ shard_fail(ctx, p->vcl_name,
+ "%s invalid warmup argument %f",
+ func, warmup);
return (NULL);
}
p->warmup = warmup;
@@ -618,9 +615,10 @@ vmod_shard_backend(VRT_CTX, struct vmod_directors_shard *vshard,
}
if ((ctx->method & SHARD_VCL_TASK_BEREQ) == 0) {
- VRT_fail(ctx, "shard .backend resolve=LAZY with other "
- "parameters can only be used in backend/pipe "
- "context");
+ shard_fail(ctx, vshard->shardd->name, "%s",
+ ".backend(resolve=LAZY) with other "
+ "parameters can only be used in backend/pipe "
+ "context");
return (NULL);
}
@@ -633,9 +631,9 @@ vmod_shard_backend(VRT_CTX, struct vmod_directors_shard *vshard,
pp->vcl_name = vshard->shardd->name;
} else if (resolve == VENUM(NOW)) {
if (ctx->method & VCL_MET_TASK_H) {
- VRT_fail(ctx,
- "shard .backend resolve=NOW can not be "
- "used in vcl_init{}/vcl_fini{}");
+ shard_fail(ctx, vshard->shardd->name, "%s",
+ ".backend(resolve=NOW) can not be "
+ "used in vcl_init{}/vcl_fini{}");
return (NULL);
}
pp = shard_param_stack(&pstk, vshard->shardd->param,
@@ -648,7 +646,8 @@ vmod_shard_backend(VRT_CTX, struct vmod_directors_shard *vshard,
if (args & arg_param) {
ppt = shard_param_blob(a->param);
if (ppt == NULL) {
- VRT_fail(ctx, "shard .backend param invalid");
+ shard_fail(ctx, vshard->shardd->name, "%s",
+ ".backend(key_blob) param invalid");
return (NULL);
}
pp->defaults = ppt;
@@ -885,7 +884,7 @@ shard_param_task(VRT_CTX, const void *id,
task = VRT_priv_task(ctx, task_id);
if (task == NULL) {
- VRT_fail(ctx, "no priv_task");
+ shard_fail(ctx, pa->vcl_name, "%s", "no priv_task");
return (NULL);
}
@@ -897,7 +896,7 @@ shard_param_task(VRT_CTX, const void *id,
p = WS_Alloc(ctx->ws, sizeof *p);
if (p == NULL) {
- VRT_fail(ctx, "shard_param_task WS_Alloc failed");
+ shard_fail(ctx, pa->vcl_name, "%s", "WS_Alloc failed");
return (NULL);
}
task->priv = p;
@@ -921,8 +920,8 @@ shard_param_prep(VRT_CTX, struct vmod_directors_shard_param *p,
CHECK_OBJ_NOTNULL(p, VMOD_SHARD_SHARD_PARAM_MAGIC);
if (ctx->method & SHARD_VCL_TASK_REQ) {
- VRT_fail(ctx, "%s may only be used "
- "in vcl_init and in backend/pipe context", who);
+ shard_fail(ctx, p->vcl_name, "%s may only be used "
+ "in vcl_init and in backend/pipe context", who);
return (NULL);
} else if (ctx->method & SHARD_VCL_TASK_BEREQ)
p = shard_param_task(ctx, p, p);
More information about the varnish-commit
mailing list