davyam commented on pull request #5710:
URL: https://github.com/apache/nifi/pull/5710#issuecomment-1020720083
> I have tested this code.
>
> ✅ Build without exceptions ✅ The mock tests seem enough ✅ The CDC start
without problems including PostgreSQL slots ✅ The Syncing Turn On process runs
fine ❌ The recovery process, dont conect and recovery from abrutal shutdown of
PostgreSQL of NiFi. I beleive the processor stat came be definied before
PostgreSQL lsn Commit, so the PostgreSQL cannot resync with the last past LSN.
✅If the stop process, the processor restart from last step without problems. ❌
The connection with a slot previously created don't run.
>
> Congrats for the evolution of this processor code.
Hi man! Thanks for the feedback!
About the recovery test, please give me more information about your
simulation. The PostgreSQL Replication Slot doesn't keep changes after the
feedback (setAppliedLSN and setFlushedLSN functions), which is performed as
soon as the change is received by the processor. Then, if you try to set the
Start LSN propriety with an LSN already received, that will not work and the
processor will start from the pending changes available in the slot. But you
can test the opposite, I mean, you can request an LSN after many unreceived
transactions, so the processor will skip them. Take a look at the integration
test testCDCStartLSN.
Talking about the test with an existing slot, this is working. I tested it
many times, including integration tests. I believe that, previously, you don't
create the slot with **pgoutput** output plugin. For example:
`SELECT pg_create_logical_replication_slot('slot_city', 'pgoutput');`
Probably this is the reason. Anyway, now I see that this information needs
to be included in the processor description. I will make this improvement.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]