Thread: Re: [PERFORM] scalability issues on win32
Hi Merlin, > On a probably unrelated note: > Can some other win32 hacker try the following? > Download the latest cvs sources from the server and edit configure, > replacing all instances of '8.0beta5' with '8.0' etc. as is > will be when released. Following that do a full make/make clean. After > that try and start he server with pg_ctl.exe and tell me if it succeeds or not. I can confirm this failure. (in my case at least) pg_ctl is not seeing the full version string of the postmaster in find_other_exec. This is due to the single call to ReadFile in pipe_read_line, which is not returning the entire version string (losing all characters beyond the last decimal point in the version string). A subsequent call to ReadFile picks up the remainder of the string. I don't see that we can rely on a single call returning the entire version string. If someone can run with this, I've attached initial looping changes for pipe_read_line. However I'm not sure of the correct terminating condition (gets into a call to ReadFile that never returns; the WaitForSingleObject appears insufficient as a precondition for ReadFile) and just don't have time to complete it right now. Cheers, Claudio
Attachment
Claudio Natoli wrote: >Hi Merlin, > > > >>On a probably unrelated note: >>Can some other win32 hacker try the following? >>Download the latest cvs sources from the server and edit configure, >>replacing all instances of '8.0beta5' with '8.0' etc. as is >>will be when released. Following that do a full make/make clean. After >>that try and start he server with pg_ctl.exe and tell me if it succeeds or >> >> >not. > >I can confirm this failure. > >(in my case at least) pg_ctl is not seeing the full version string of the >postmaster in find_other_exec. This is due to the single call to ReadFile in >pipe_read_line, which is not returning the entire version string (losing all >characters beyond the last decimal point in the version string). A >subsequent call to ReadFile picks up the remainder of the string. I don't >see that we can rely on a single call returning the entire version string. > > How is it that this has not bitten us elsewhere? Are we only reading tiny things from pipes in other cases so that a single read works? It seems very strange that a shorter version string should cause the failure. cheers andrew
Claudio, I need this completed so we can get it into CVS. Without it a 8.0.0 version string will fail to compare. --------------------------------------------------------------------------- Claudio Natoli wrote: > > Hi Merlin, > > > On a probably unrelated note: > > Can some other win32 hacker try the following? > > Download the latest cvs sources from the server and edit configure, > > replacing all instances of '8.0beta5' with '8.0' etc. as is > > will be when released. Following that do a full make/make clean. After > > that try and start he server with pg_ctl.exe and tell me if it succeeds or > not. > > I can confirm this failure. > > (in my case at least) pg_ctl is not seeing the full version string of the > postmaster in find_other_exec. This is due to the single call to ReadFile in > pipe_read_line, which is not returning the entire version string (losing all > characters beyond the last decimal point in the version string). A > subsequent call to ReadFile picks up the remainder of the string. I don't > see that we can rely on a single call returning the entire version string. > > If someone can run with this, I've attached initial looping changes for > pipe_read_line. However I'm not sure of the correct terminating condition > (gets into a call to ReadFile that never returns; the WaitForSingleObject > appears insufficient as a precondition for ReadFile) and just don't have > time to complete it right now. > > Cheers, > Claudio > > [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 9: the planner will ignore your desire to choose an index scan if your > joining column's datatypes do not match -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073