vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Attached is my WIP version of the CSV logs patch. It does not include docs changes. It fixes the CSV thinko I just posted about, and also implements the "safe to rotate" scheme I suggested yesterday, at quite a modest cost. As Tom rightly points out, that does not protect us against interleaving log lines from different backends, which is an open problem. It does however protect against rotating in the middle of a log line. It also incorporates the fix I made two days ago to remove inappropriate Windows CRLF translation, and some code tidying. cheers andrew ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend |
| |||
| Andrew Dunstan wrote: > > Attached is my WIP version of the CSV logs patch. It does not include > docs changes. > > It fixes the CSV thinko I just posted about, and also implements the > "safe to rotate" scheme I suggested yesterday, at quite a modest cost. > As Tom rightly points out, that does not protect us against interleaving > log lines from different backends, which is an open problem. I wonder, if we were to use an LWLock to protect writing to the stderr pipe, would it be too contentious? -- Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 18.1", W 73º 13' 56.4" "El destino baraja y nosotros jugamos" (A. Schopenhauer) ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| |||
| Alvaro Herrera wrote: > Andrew Dunstan wrote: > >> Attached is my WIP version of the CSV logs patch. It does not include >> docs changes. >> >> It fixes the CSV thinko I just posted about, and also implements the >> "safe to rotate" scheme I suggested yesterday, at quite a modest cost. >> As Tom rightly points out, that does not protect us against interleaving >> log lines from different backends, which is an open problem. >> > > I wonder, if we were to use an LWLock to protect writing to the stderr > pipe, would it be too contentious? > > That was the first thing I wanted to try. I'll code it up and then people can test to see if we get a significant performance hit. cheers andrew ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster |
| |||
| Alvaro Herrera <alvherre@commandprompt.com> writes: > I wonder, if we were to use an LWLock to protect writing to the stderr > pipe, would it be too contentious? Sorry, that's a nonstarter. 1. Not all our processes are connected to shared memory. Even the ones that are don't necessarily have PGPROCs. 2. If somebody crashes while holding the lock, the entire system including the postmaster soon freezes up. 3. Having the postmaster take LWLocks is verboten anyway, mainly because of problem #2. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq |
| ||||
| Tom Lane wrote: > Alvaro Herrera <alvherre@commandprompt.com> writes: > >> I wonder, if we were to use an LWLock to protect writing to the stderr >> pipe, would it be too contentious? >> > > Sorry, that's a nonstarter. > > 1. Not all our processes are connected to shared memory. Even the ones > that are don't necessarily have PGPROCs. > > 2. If somebody crashes while holding the lock, the entire system > including the postmaster soon freezes up. > > 3. Having the postmaster take LWLocks is verboten anyway, mainly because > of problem #2. > > > Ugh. Well, until this problem is solved I'm not prepared to commit a patch that purports to provide machine readable logs. The only non-locking solution I can think of is to have one set of pipes per backend rather than one set per cluster. That could get pretty ugly, though, and have all sorts of problems with portability. I'm starting to wonder if the CSVlog patch needs to be put on hold at least for 8.4. If we do, I think I should at least commit the piece that prevents rotation in the middle of a line, and possible even backpatch it. cheers andrew ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate |