Opened 6 years ago

Closed 4 years ago

#46111 closed enhancement (wontfix)

PortIndex2MySQL.tcl: atomic renames, transactions

Reported by: nerdling (Jeremy Lavergne) Owned by: jmpp@…
Priority: Normal Milestone:
Component: website Version:
Keywords: haspatch Cc: skarulkar@…, neverpanic (Clemens Lang), ryandesign (Ryan Schmidt), pixilla (Bradley Giesbrecht), raimue (Rainer Müller)


I'd like to made two changes to PortIndex2MySQL.tcl.

Each run should populate new tables which are atomically renamed into place. This avoids significant lock time during the run.

Secondly, each port is wrapped with a transaction. This prevents the insertion process from terminating on first error. This also assumes we're using an engine that supports transactions.

Do these seem reasonable? foresee any issues?

Attachments (1)

PortIndex2MySQL.tcl.diff (8.5 KB) - added by nerdling (Jeremy Lavergne) 6 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 6 years ago by jmroot (Joshua Root)

This should happen on top of the work done in #40579.

comment:2 Changed 6 years ago by jmpp@…

Hi snc@!

I'd love to modernize the PortIndex2MySQL script, specially having learned quite a bit more about MySQL and databases since I last touched it. But that's one problem, I haven't touched the script in ages, so it'd take me a bit to get up-to-speed with it again (something I may not necessarily have the time for).

But let me try looking at it again and then at your patch. Ryan, care to weigh in?

comment:3 Changed 6 years ago by nerdling (Jeremy Lavergne)

Keywords: haspatch added

Changed 6 years ago by nerdling (Jeremy Lavergne)

Attachment: PortIndex2MySQL.tcl.diff added

comment:4 Changed 6 years ago by pixilla (Bradley Giesbrecht)

Cc: pixilla@… added

Cc Me!

comment:5 Changed 4 years ago by raimue (Rainer Müller)

Cc: raimue added

comment:6 Changed 4 years ago by raimue (Rainer Müller)

Resolution: wontfix
Status: newclosed

Superseded by portindex2postgres.tcl that will power the PortIndex generation in the future.

Note: See TracTickets for help on using tickets.