Thread

Commits

  1. Fix comments in ReplicationSlotAcquire().

  2. Return ReplicationSlotAcquire API to its original form

  1. Fix inappropriate comments in function ReplicationSlotAcquire

    Wei Wang (Fujitsu) <wangw.fnst@fujitsu.com> — 2024-01-25T09:26:42Z

    Hi,
    
    In the function ReplicationSlotAcquire(), I found there is a missing in the
    below comments:
    
    ```
    	/*
    	 * Search for the slot with the specified name if the slot to acquire is
    	 * not given. If the slot is not found, we either return -1 or error out.
    	 */
    	s = SearchNamedReplicationSlot(name, false);
    	if (s == NULL || !s->in_use)
    	{
    		LWLockRelease(ReplicationSlotControlLock);
    
    		ereport(ERROR,
    				(errcode(ERRCODE_UNDEFINED_OBJECT),
    				 errmsg("replication slot \"%s\" does not exist",
    						name)));
    	}
    ```
    
    It seems that when the slot is not found, we will only error out and will not
    return -1. Attach the patch to remove the inappropriate description of return
    value.
    
    Regards,
    Wang Wei
    
  2. Re: Fix inappropriate comments in function ReplicationSlotAcquire

    Amit Kapila <amit.kapila16@gmail.com> — 2024-01-25T09:39:11Z

    On Thu, Jan 25, 2024 at 2:57 PM Wei Wang (Fujitsu)
    <wangw.fnst@fujitsu.com> wrote:
    >
    > In the function ReplicationSlotAcquire(), I found there is a missing in the
    > below comments:
    >
    > ```
    >         /*
    >          * Search for the slot with the specified name if the slot to acquire is
    >          * not given. If the slot is not found, we either return -1 or error out.
    >          */
    >         s = SearchNamedReplicationSlot(name, false);
    >         if (s == NULL || !s->in_use)
    >         {
    >                 LWLockRelease(ReplicationSlotControlLock);
    >
    >                 ereport(ERROR,
    >                                 (errcode(ERRCODE_UNDEFINED_OBJECT),
    >                                  errmsg("replication slot \"%s\" does not exist",
    >                                                 name)));
    >         }
    > ```
    >
    > It seems that when the slot is not found, we will only error out and will not
    > return -1.
    >
    
    You seem to be correct. However, isn't the first part of the comment
    also slightly confusing? In particular, "... if the slot to acquire is
    not given." In this function, I don't see the case where a slot to
    acquire is given.
    
    -- 
    With Regards,
    Amit Kapila.
    
    
    
    
  3. RE: Fix inappropriate comments in function ReplicationSlotAcquire

    Wei Wang (Fujitsu) <wangw.fnst@fujitsu.com> — 2024-01-25T10:30:55Z

    On Thu, Jan 25, 2024 at 18:39 Amit Kapila <amit.kapila16@gmail.com> wrote:
    >
    
    Thanks for your review.
    
    > On Thu, Jan 25, 2024 at 2:57 PM Wei Wang (Fujitsu)
    > <wangw.fnst@fujitsu.com> wrote:
    > >
    > > In the function ReplicationSlotAcquire(), I found there is a missing in the
    > > below comments:
    > >
    > > ```
    > >         /*
    > >          * Search for the slot with the specified name if the slot to acquire is
    > >          * not given. If the slot is not found, we either return -1 or error out.
    > >          */
    > >         s = SearchNamedReplicationSlot(name, false);
    > >         if (s == NULL || !s->in_use)
    > >         {
    > >                 LWLockRelease(ReplicationSlotControlLock);
    > >
    > >                 ereport(ERROR,
    > >                                 (errcode(ERRCODE_UNDEFINED_OBJECT),
    > >                                  errmsg("replication slot \"%s\" does not
    > exist",
    > >                                                 name)));
    > >         }
    > > ```
    > >
    > > It seems that when the slot is not found, we will only error out and will not
    > > return -1.
    > >
    > 
    > You seem to be correct. However, isn't the first part of the comment
    > also slightly confusing? In particular, "... if the slot to acquire is
    > not given." In this function, I don't see the case where a slot to
    > acquire is given.
    
    Yes, agree. I think these two parts have become slightly outdated after the
    commit 1632ea4. So also tried to fix the first part of the comment.
    Attach the new patch.
    
    Regards,
    Wang Wei
    
  4. Re: Fix inappropriate comments in function ReplicationSlotAcquire

    Amit Kapila <amit.kapila16@gmail.com> — 2024-01-25T11:32:34Z

    On Thu, Jan 25, 2024 at 4:01 PM Wei Wang (Fujitsu)
    <wangw.fnst@fujitsu.com> wrote:
    >
    >
    > Yes, agree. I think these two parts have become slightly outdated after the
    > commit 1632ea4. So also tried to fix the first part of the comment.
    > Attach the new patch.
    >
    
    How about changing it to something simple like:
    diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c
    index f2781d0455..84c257a7aa 100644
    --- a/src/backend/replication/slot.c
    +++ b/src/backend/replication/slot.c
    @@ -465,10 +465,7 @@ retry:
    
            LWLockAcquire(ReplicationSlotControlLock, LW_SHARED);
    
    -       /*
    -        * Search for the slot with the specified name if the slot to acquire is
    -        * not given. If the slot is not found, we either return -1 or
    error out.
    -        */
    +        /* Check if the slot exits with the given name. */
            s = SearchNamedReplicationSlot(name, false);
            if (s == NULL || !s->in_use)
            {
    
    -- 
    With Regards,
    Amit Kapila.
    
    
    
    
  5. RE: Fix inappropriate comments in function ReplicationSlotAcquire

    Wei Wang (Fujitsu) <wangw.fnst@fujitsu.com> — 2024-01-26T01:17:06Z

    On Thu, Jan 25, 2024 at 20:33 Amit Kapila <amit.kapila16@gmail.com> wrote:
    > On Thu, Jan 25, 2024 at 4:01 PM Wei Wang (Fujitsu)
    > <wangw.fnst@fujitsu.com> wrote:
    > >
    > >
    > > Yes, agree. I think these two parts have become slightly outdated after the
    > > commit 1632ea4. So also tried to fix the first part of the comment.
    > > Attach the new patch.
    > >
    > 
    > How about changing it to something simple like:
    > diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c
    > index f2781d0455..84c257a7aa 100644
    > --- a/src/backend/replication/slot.c
    > +++ b/src/backend/replication/slot.c
    > @@ -465,10 +465,7 @@ retry:
    > 
    >         LWLockAcquire(ReplicationSlotControlLock, LW_SHARED);
    > 
    > -       /*
    > -        * Search for the slot with the specified name if the slot to acquire is
    > -        * not given. If the slot is not found, we either return -1 or
    > error out.
    > -        */
    > +        /* Check if the slot exits with the given name. */
    >         s = SearchNamedReplicationSlot(name, false);
    >         if (s == NULL || !s->in_use)
    >         {
    
    It looks good to me. So, I updated the patch as suggested.
    
    Regards,
    Wang Wei
    
  6. Re: Fix inappropriate comments in function ReplicationSlotAcquire

    Amit Kapila <amit.kapila16@gmail.com> — 2024-01-29T05:49:51Z

    On Fri, Jan 26, 2024 at 6:47 AM Wei Wang (Fujitsu)
    <wangw.fnst@fujitsu.com> wrote:
    >
    > It looks good to me. So, I updated the patch as suggested.
    >
    
    Pushed!
    
    -- 
    With Regards,
    Amit Kapila.
    
    
    
    
  7. RE: Fix inappropriate comments in function ReplicationSlotAcquire

    Wei Wang (Fujitsu) <wangw.fnst@fujitsu.com> — 2024-01-29T07:35:35Z

    On Mon, Jan 29, 2024 at 14:50 Amit Kapila <amit.kapila16@gmail.com> wrote:
    > Pushed!
    
    Thanks for pushing.
    
    Regards,
    Wang Wei