Some never executed code regarding the table sync worker

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Some never executed code regarding the table sync worker
Date: 2017-03-31 17:35:00
Message-ID: CAD21AoCSmEm-P=ND6xXW4fF46_f9QhF-Uwdyna__MEEq=jbHfw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all,

After launched the sync table worker it enters ApplyWorkerMain
function. And then the table sync worker calls
LogicalRepSyncTableStart to synchronize the target table. In
LogicalRepSyncTableStart, finish_sync_worker is always called and then
the table sync worker process always exits after synched. On the other
hand, some source code seems to suppose that the table sync worker
still continue to working even after LogicalRepSyncTableStart

For example in ApplyWorkerMain, LogicalRepSyncTableStart returns
replication slot name that was used for synchronization but this code
is never executed.

if (am_tablesync_worker())
{
char *syncslotname;

/* This is table synchroniation worker, call initial sync. */
syncslotname = LogicalRepSyncTableStart(&origin_startpos);

/* The slot name needs to be allocated in permanent memory context. */
oldctx = MemoryContextSwitchTo(ApplyCacheContext);
myslotname = pstrdup(syncslotname);
MemoryContextSwitchTo(oldctx);

pfree(syncslotname);
}

------
And, since the table sync worker doesn't call process_syncing_tables
so far process_syncing_tables_for_sync is never executed.

/*
* Process state possible change(s) of tables that are being synchronized.
*/
void
process_syncing_tables(XLogRecPtr current_lsn)
{
if (am_tablesync_worker())
process_syncing_tables_for_sync(current_lsn);
else
process_syncing_tables_for_apply(current_lsn);
}

These code will be used for future enhancement? I think that since
leaving unused code is not good we can get rid of these unnecessary
codes. Attached patch removes unnecessary codes related to the table
sync worker.
Please give me feedback.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Attachment Content-Type Size
unused_code_of_table_sync_worker.patch application/octet-stream 4.7 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-03-31 17:35:07 Re: Somebody has not thought through subscription locking considerations
Previous Message Robert Haas 2017-03-31 17:29:20 Re: Allow to specify #columns in heap/index_form_tuple