doc patch: clarify the naming rule for injection_points

Started by Hayato Kuroda (Fujitsu)9 months ago7 messages
#1Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
1 attachment(s)

Dear hackers,

This is a forked thread from [1]/messages/by-id/OSCPR01MB14966B78F3AF15C252EB9E02FF5B32@OSCPR01MB14966.jpnprd01.prod.outlook.com.

Naming rule of points is not determined yet, but most of them have lower cases
and each term are divided by dash "-". I think this is a good chance to formally
clarify it. PSA adding the description.

I was confused the correct place for the description. I added at the end of first
paragraph, because it describes how we add and use it. Suggestions are very
welcomed.

[1]: /messages/by-id/OSCPR01MB14966B78F3AF15C252EB9E02FF5B32@OSCPR01MB14966.jpnprd01.prod.outlook.com

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Attachments:

0001-Doc-clarify-the-naming-rule-for-injection-points.patchapplication/octet-stream; name=0001-Doc-clarify-the-naming-rule-for-injection-points.patchDownload
From 47054c250b6466abcc48143a054ca12e5976718d Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Date: Mon, 14 Apr 2025 20:00:13 +0900
Subject: [PATCH] Doc: clarify the naming rule for injection points

---
 doc/src/sgml/xfunc.sgml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 8074f66417d..d4f486e28fd 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -3836,7 +3836,8 @@ INJECTION_POINT(name);
      within the server code. After adding a new injection point the code needs
      to be compiled in order for that injection point to be available in the
      binary. Add-ins written in C-language can declare injection points in
-     their own code using the same macro.
+     their own code using the same macro.  The name of injection points must be
+     lower characters, and dashes must separate its terms.
     </para>
 
     <para>
-- 
2.43.5

#2Aleksander Alekseev
aleksander@timescale.com
In reply to: Hayato Kuroda (Fujitsu) (#1)
Re: doc patch: clarify the naming rule for injection_points

Hi,

Naming rule of points is not determined yet, but most of them have lower cases
and each term are divided by dash "-". I think this is a good chance to formally
clarify it. PSA adding the description.

I was confused the correct place for the description. I added at the end of first
paragraph, because it describes how we add and use it. Suggestions are very
welcomed.

```
-     their own code using the same macro.
+     their own code using the same macro.  The name of injection points must be
+     lower characters, and dashes must separate its terms.
```

Perhaps "must" is a too strong statement. I suggest something like:

"""
By convention, the name of injection points ...
"""

I have mixed feelings about the patch overall though. This would mean
that we need to rename injection points like this:

``
AtEOXact_Inval-with-transInvalInfo
heap_update-before-pin
```

Otherwise we would contradict our own documentation.

I don't mind heap-update-before-pin, but not 100% sure if:

at-eo-xact-inval-with-trans-inval-info

... would be a better name than the current one.

--
Best regards,
Aleksander Alekseev

#3Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: Aleksander Alekseev (#2)
2 attachment(s)
RE: doc patch: clarify the naming rule for injection_points

Dear Aleksander,

```
-     their own code using the same macro.
+     their own code using the same macro.  The name of injection points must
be
+     lower characters, and dashes must separate its terms.
```

Perhaps "must" is a too strong statement. I suggest something like:

"""
By convention, the name of injection points ...
"""

It is always difficult for me to distinguish them, thanks for comments.
PSA updated.

I have mixed feelings about the patch overall though. This would mean
that we need to rename injection points like this:

``
AtEOXact_Inval-with-transInvalInfo
heap_update-before-pin
```

Otherwise we would contradict our own documentation.

Thanks for telling these counterexamples. I grepped with "INJECTION_POINTS" and
"IS_INJECTION_POINT_ATTACHED", and no others are found.

I don't mind heap-update-before-pin, but not 100% sure if:

at-eo-xact-inval-with-trans-inval-info

... would be a better name than the current one.

I also feel just converting lower case is not good. The point seems to locate in
the end-of-transaction callback and it accepts invalidation messages. Based on the
fact, how about "inval-process-invalidation-messages"?
0002 did simple replacements of these words.

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Attachments:

v2-0002-Follow-naming-rules-for-injection-points.patchapplication/octet-stream; name=v2-0002-Follow-naming-rules-for-injection-points.patchDownload
From 3a41012c114a1b2b98b648744f08488e48c8f037 Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Date: Mon, 14 Apr 2025 21:34:05 +0900
Subject: [PATCH v2 2/2] Follow naming rules for injection points

---
 src/backend/access/heap/heapam.c              |  2 +-
 src/backend/utils/cache/inval.c               |  2 +-
 .../expected/syscache-update-pruned.out       | 24 +++++++++----------
 .../expected/syscache-update-pruned_1.out     | 24 +++++++++----------
 .../specs/syscache-update-pruned.spec         | 12 +++++-----
 5 files changed, 32 insertions(+), 32 deletions(-)

diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index ed2e3021799..0d01465d22e 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -3304,7 +3304,7 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup,
 	interesting_attrs = bms_add_members(interesting_attrs, id_attrs);
 
 	block = ItemPointerGetBlockNumber(otid);
-	INJECTION_POINT("heap_update-before-pin");
+	INJECTION_POINT("heap-update-before-pin");
 	buffer = ReadBuffer(relation, block);
 	page = BufferGetPage(buffer);
 
diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c
index 4893dbdd7c8..d397a46663a 100644
--- a/src/backend/utils/cache/inval.c
+++ b/src/backend/utils/cache/inval.c
@@ -1200,7 +1200,7 @@ AtEOXact_Inval(bool isCommit)
 	/* Must be at top of stack */
 	Assert(transInvalInfo->my_level == 1 && transInvalInfo->parent == NULL);
 
-	INJECTION_POINT("AtEOXact_Inval-with-transInvalInfo");
+	INJECTION_POINT("inval-process-invalidation-messages");
 
 	if (isCommit)
 	{
diff --git a/src/test/modules/injection_points/expected/syscache-update-pruned.out b/src/test/modules/injection_points/expected/syscache-update-pruned.out
index 9a9683bb496..81b55c0314d 100644
--- a/src/test/modules/injection_points/expected/syscache-update-pruned.out
+++ b/src/test/modules/injection_points/expected/syscache-update-pruned.out
@@ -10,14 +10,14 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('inval-process-invalidation-messages');
+	SELECT FROM injection_points_wakeup('inval-process-invalidation-messages');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
 step wakegrant4: 
-	SELECT FROM injection_points_detach('heap_update-before-pin');
-	SELECT FROM injection_points_wakeup('heap_update-before-pin');
+	SELECT FROM injection_points_detach('heap-update-before-pin');
+	SELECT FROM injection_points_wakeup('heap-update-before-pin');
  <waiting ...>
 step grant1: <... completed>
 ERROR:  tuple concurrently deleted
@@ -33,8 +33,8 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('inval-process-invalidation-messages');
+	SELECT FROM injection_points_wakeup('inval-process-invalidation-messages');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
@@ -42,8 +42,8 @@ step mkrels4:
 	SELECT FROM vactest.mkrels('intruder', 1, 100);  -- repopulate LP_UNUSED
 
 step wakegrant4: 
-	SELECT FROM injection_points_detach('heap_update-before-pin');
-	SELECT FROM injection_points_wakeup('heap_update-before-pin');
+	SELECT FROM injection_points_detach('heap-update-before-pin');
+	SELECT FROM injection_points_wakeup('heap-update-before-pin');
  <waiting ...>
 step grant1: <... completed>
 ERROR:  duplicate key value violates unique constraint "pg_class_oid_index"
@@ -64,15 +64,15 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('inval-process-invalidation-messages');
+	SELECT FROM injection_points_wakeup('inval-process-invalidation-messages');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
 step at4: ALTER TABLE vactest.child50 INHERIT vactest.orig50;
 step wakegrant4: 
-	SELECT FROM injection_points_detach('heap_update-before-pin');
-	SELECT FROM injection_points_wakeup('heap_update-before-pin');
+	SELECT FROM injection_points_detach('heap-update-before-pin');
+	SELECT FROM injection_points_wakeup('heap-update-before-pin');
  <waiting ...>
 step grant1: <... completed>
 step wakegrant4: <... completed>
diff --git a/src/test/modules/injection_points/expected/syscache-update-pruned_1.out b/src/test/modules/injection_points/expected/syscache-update-pruned_1.out
index 64c39d708bd..dd1519e95da 100644
--- a/src/test/modules/injection_points/expected/syscache-update-pruned_1.out
+++ b/src/test/modules/injection_points/expected/syscache-update-pruned_1.out
@@ -10,14 +10,14 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('inval-process-invalidation-messages');
+	SELECT FROM injection_points_wakeup('inval-process-invalidation-messages');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
 step wakegrant4: 
-	SELECT FROM injection_points_detach('heap_update-before-pin');
-	SELECT FROM injection_points_wakeup('heap_update-before-pin');
+	SELECT FROM injection_points_detach('heap-update-before-pin');
+	SELECT FROM injection_points_wakeup('heap-update-before-pin');
  <waiting ...>
 step grant1: <... completed>
 step wakegrant4: <... completed>
@@ -32,8 +32,8 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('inval-process-invalidation-messages');
+	SELECT FROM injection_points_wakeup('inval-process-invalidation-messages');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
@@ -41,8 +41,8 @@ step mkrels4:
 	SELECT FROM vactest.mkrels('intruder', 1, 100);  -- repopulate LP_UNUSED
 
 step wakegrant4: 
-	SELECT FROM injection_points_detach('heap_update-before-pin');
-	SELECT FROM injection_points_wakeup('heap_update-before-pin');
+	SELECT FROM injection_points_detach('heap-update-before-pin');
+	SELECT FROM injection_points_wakeup('heap-update-before-pin');
  <waiting ...>
 step grant1: <... completed>
 step wakegrant4: <... completed>
@@ -62,15 +62,15 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('inval-process-invalidation-messages');
+	SELECT FROM injection_points_wakeup('inval-process-invalidation-messages');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
 step at4: ALTER TABLE vactest.child50 INHERIT vactest.orig50;
 step wakegrant4: 
-	SELECT FROM injection_points_detach('heap_update-before-pin');
-	SELECT FROM injection_points_wakeup('heap_update-before-pin');
+	SELECT FROM injection_points_detach('heap-update-before-pin');
+	SELECT FROM injection_points_wakeup('heap-update-before-pin');
  <waiting ...>
 step grant1: <... completed>
 ERROR:  tuple concurrently updated
diff --git a/src/test/modules/injection_points/specs/syscache-update-pruned.spec b/src/test/modules/injection_points/specs/syscache-update-pruned.spec
index 086d084de25..6308bba8134 100644
--- a/src/test/modules/injection_points/specs/syscache-update-pruned.spec
+++ b/src/test/modules/injection_points/specs/syscache-update-pruned.spec
@@ -103,7 +103,7 @@ session s1
 setup	{
 	SET debug_discard_caches = 0;
 	SELECT FROM injection_points_set_local();
-	SELECT FROM injection_points_attach('heap_update-before-pin', 'wait');
+	SELECT FROM injection_points_attach('heap-update-before-pin', 'wait');
 }
 step cachefill1	{ SELECT FROM vactest.reloid_catcache_set('vactest.orig50'); }
 step grant1	{ GRANT SELECT ON vactest.orig50 TO PUBLIC; }
@@ -117,7 +117,7 @@ session s2
 setup	{
 	SELECT FROM injection_points_set_local();
 	SELECT FROM
-		injection_points_attach('AtEOXact_Inval-with-transInvalInfo', 'wait');
+		injection_points_attach('inval-process-invalidation-messages', 'wait');
 }
 step at2	{
 	CREATE TRIGGER to_set_relhastriggers BEFORE UPDATE ON vactest.orig50
@@ -140,13 +140,13 @@ step mkrels4	{
 	SELECT FROM vactest.mkrels('intruder', 1, 100);  -- repopulate LP_UNUSED
 }
 step wakegrant4	{
-	SELECT FROM injection_points_detach('heap_update-before-pin');
-	SELECT FROM injection_points_wakeup('heap_update-before-pin');
+	SELECT FROM injection_points_detach('heap-update-before-pin');
+	SELECT FROM injection_points_wakeup('heap-update-before-pin');
 }
 step at4	{ ALTER TABLE vactest.child50 INHERIT vactest.orig50; }
 step wakeinval4	{
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('inval-process-invalidation-messages');
+	SELECT FROM injection_points_wakeup('inval-process-invalidation-messages');
 }
 # Witness effects of steps at2 and/or at4.
 step inspect4	{
-- 
2.43.5

v2-0001-Doc-clarify-the-naming-rule-for-injection-points.patchapplication/octet-stream; name=v2-0001-Doc-clarify-the-naming-rule-for-injection-points.patchDownload
From 5d73bb9bf5da8c23d61f68f01f0375bac2bbdb7c Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Date: Mon, 14 Apr 2025 20:00:13 +0900
Subject: [PATCH v2] Doc: clarify the naming rule for injection points

---
 doc/src/sgml/xfunc.sgml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 8074f66417d..c0726331d62 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -3836,7 +3836,8 @@ INJECTION_POINT(name);
      within the server code. After adding a new injection point the code needs
      to be compiled in order for that injection point to be available in the
      binary. Add-ins written in C-language can declare injection points in
-     their own code using the same macro.
+     their own code using the same macro.  By convention, the name of injection
+     points is lower characters, and dashes separate its terms.
     </para>
 
     <para>
-- 
2.43.5

#4Michael Paquier
michael@paquier.xyz
In reply to: Hayato Kuroda (Fujitsu) (#3)
Re: doc patch: clarify the naming rule for injection_points

On Mon, Apr 14, 2025 at 12:36:20PM +0000, Hayato Kuroda (Fujitsu) wrote:

I also feel just converting lower case is not good. The point seems to locate in
the end-of-transaction callback and it accepts invalidation messages. Based on the
fact, how about "inval-process-invalidation-messages"?
0002 did simple replacements of these words.

-	INJECTION_POINT("heap_update-before-pin");
+	INJECTION_POINT("heap-update-before-pin");

The former name is better IMO. heap_update() is the name of the
function where the point is defined.

-	INJECTION_POINT("AtEOXact_Inval-with-transInvalInfo");
+	INJECTION_POINT("inval-process-invalidation-messages");

This naming has been puzzling me, though, so a rename looks fit. I am
not sure that this is the best name that matches with this code path,
as this lacks a reference regarding the end of a transaction. Perhaps
something like "end-transaction-process-inval" would be better?
--
Michael

#5Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: Michael Paquier (#4)
2 attachment(s)
RE: doc patch: clarify the naming rule for injection_points

Dear Michael,

I also feel just converting lower case is not good. The point seems to locate in
the end-of-transaction callback and it accepts invalidation messages. Based on

the

fact, how about "inval-process-invalidation-messages"?
0002 did simple replacements of these words.

-	INJECTION_POINT("heap_update-before-pin");
+	INJECTION_POINT("heap-update-before-pin");

The former name is better IMO. heap_update() is the name of the
function where the point is defined.

-	INJECTION_POINT("AtEOXact_Inval-with-transInvalInfo");
+	INJECTION_POINT("inval-process-invalidation-messages");

This naming has been puzzling me, though, so a rename looks fit. I am
not sure that this is the best name that matches with this code path,
as this lacks a reference regarding the end of a transaction. Perhaps
something like "end-transaction-process-inval" would be better?

Thanks for suggesting them. ISTM, you are correct. PSA updated version.

Best regards,
Hayato Kuroda
FUJITSU LIMITED

Attachments:

v3-0001-Doc-clarify-the-naming-rule-for-injection-points.patchapplication/octet-stream; name=v3-0001-Doc-clarify-the-naming-rule-for-injection-points.patchDownload
From 25954dbd739b1e92e8d959b2fe1ff60c3bedd584 Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Date: Mon, 14 Apr 2025 20:00:13 +0900
Subject: [PATCH v3 1/2] Doc: clarify the naming rule for injection points

---
 doc/src/sgml/xfunc.sgml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index 8074f66417d..c0726331d62 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -3836,7 +3836,8 @@ INJECTION_POINT(name);
      within the server code. After adding a new injection point the code needs
      to be compiled in order for that injection point to be available in the
      binary. Add-ins written in C-language can declare injection points in
-     their own code using the same macro.
+     their own code using the same macro.  By convention, the name of injection
+     points is lower characters, and dashes separate its terms.
     </para>
 
     <para>
-- 
2.43.5

v3-0002-Follow-naming-rules-for-injection-points.patchapplication/octet-stream; name=v3-0002-Follow-naming-rules-for-injection-points.patchDownload
From 06346be1dc7860b34f119498f34d0a86658fa5ec Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Date: Mon, 14 Apr 2025 21:34:05 +0900
Subject: [PATCH v3 2/2] Follow naming rules for injection points

---
 src/backend/utils/cache/inval.c                      |  2 +-
 .../expected/syscache-update-pruned.out              | 12 ++++++------
 .../expected/syscache-update-pruned_1.out            | 12 ++++++------
 .../specs/syscache-update-pruned.spec                |  6 +++---
 4 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c
index c93679dfdcc..c53a15a8260 100644
--- a/src/backend/utils/cache/inval.c
+++ b/src/backend/utils/cache/inval.c
@@ -1207,7 +1207,7 @@ AtEOXact_Inval(bool isCommit)
 	/* Must be at top of stack */
 	Assert(transInvalInfo->my_level == 1 && transInvalInfo->parent == NULL);
 
-	INJECTION_POINT("AtEOXact_Inval-with-transInvalInfo");
+	INJECTION_POINT("end-transaction-process-inval");
 
 	if (isCommit)
 	{
diff --git a/src/test/modules/injection_points/expected/syscache-update-pruned.out b/src/test/modules/injection_points/expected/syscache-update-pruned.out
index 9a9683bb496..3b743810ee6 100644
--- a/src/test/modules/injection_points/expected/syscache-update-pruned.out
+++ b/src/test/modules/injection_points/expected/syscache-update-pruned.out
@@ -10,8 +10,8 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('end-transaction-process-inval');
+	SELECT FROM injection_points_wakeup('end-transaction-process-inval');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
@@ -33,8 +33,8 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('end-transaction-process-inval');
+	SELECT FROM injection_points_wakeup('end-transaction-process-inval');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
@@ -64,8 +64,8 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('end-transaction-process-inval');
+	SELECT FROM injection_points_wakeup('end-transaction-process-inval');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
diff --git a/src/test/modules/injection_points/expected/syscache-update-pruned_1.out b/src/test/modules/injection_points/expected/syscache-update-pruned_1.out
index 64c39d708bd..d31fd66be70 100644
--- a/src/test/modules/injection_points/expected/syscache-update-pruned_1.out
+++ b/src/test/modules/injection_points/expected/syscache-update-pruned_1.out
@@ -10,8 +10,8 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('end-transaction-process-inval');
+	SELECT FROM injection_points_wakeup('end-transaction-process-inval');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
@@ -32,8 +32,8 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('end-transaction-process-inval');
+	SELECT FROM injection_points_wakeup('end-transaction-process-inval');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
@@ -62,8 +62,8 @@ step waitprunable4: CALL vactest.wait_prunable();
 step vac4: VACUUM (FREEZE, DISABLE_PAGE_SKIPPING) pg_class;
 step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; <waiting ...>
 step wakeinval4: 
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('end-transaction-process-inval');
+	SELECT FROM injection_points_wakeup('end-transaction-process-inval');
  <waiting ...>
 step at2: <... completed>
 step wakeinval4: <... completed>
diff --git a/src/test/modules/injection_points/specs/syscache-update-pruned.spec b/src/test/modules/injection_points/specs/syscache-update-pruned.spec
index 086d084de25..4fa3690dd74 100644
--- a/src/test/modules/injection_points/specs/syscache-update-pruned.spec
+++ b/src/test/modules/injection_points/specs/syscache-update-pruned.spec
@@ -117,7 +117,7 @@ session s2
 setup	{
 	SELECT FROM injection_points_set_local();
 	SELECT FROM
-		injection_points_attach('AtEOXact_Inval-with-transInvalInfo', 'wait');
+		injection_points_attach('end-transaction-process-inval', 'wait');
 }
 step at2	{
 	CREATE TRIGGER to_set_relhastriggers BEFORE UPDATE ON vactest.orig50
@@ -145,8 +145,8 @@ step wakegrant4	{
 }
 step at4	{ ALTER TABLE vactest.child50 INHERIT vactest.orig50; }
 step wakeinval4	{
-	SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo');
-	SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo');
+	SELECT FROM injection_points_detach('end-transaction-process-inval');
+	SELECT FROM injection_points_wakeup('end-transaction-process-inval');
 }
 # Witness effects of steps at2 and/or at4.
 step inspect4	{
-- 
2.43.5

#6Michael Paquier
michael@paquier.xyz
In reply to: Hayato Kuroda (Fujitsu) (#5)
Re: doc patch: clarify the naming rule for injection_points

On Mon, Apr 21, 2025 at 12:10:51PM +0000, Hayato Kuroda (Fujitsu) wrote:

Thanks for suggesting them. ISTM, you are correct. PSA updated version.

Thanks, I've applied some slight tweaks, and applied the result down
to v17, leaving the heap_update point alone.
--
Michael

#7Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: Michael Paquier (#6)
RE: doc patch: clarify the naming rule for injection_points

Dear Michael,

Thanks, I've applied some slight tweaks, and applied the result down
to v17, leaving the heap_update point alone.

Thanks, I confirmed your commit on HEAD and LGTM.

Best regards,
Hayato Kuroda
FUJITSU LIMITED