Обсуждение: backup through Java

Поиск
Список
Период
Сортировка

backup through Java

От
"Michael Schmidt"
Дата:
Folks,
I know this isn't technically a JDBC question because backup isn't done through JDBC, but I thought this is where the Java experts would be.
 
I've got a Java application developed in Eclipse interfacing a PostgreSQL 8.2.1 database.  The user can do a backup using pg-dump.exe - the Java code invokes this as an external process in a thread (Jobs interface, in Eclipse parlance).  This works some of the time - but not always.  Since it works sometimes, I think the Java code that invokes pg_dump.exe is basically OK, but since it hangs at other times, there is obviously something bad going on.  I don't know where to start looking for problems.  I was wondering if anyone had seen similar behavior (Java is usually pretty predictable in my experience) or had some thoughts on where the problem could lie so I could at least begin debugging my app. 
 
Thanks!
Michael Schmidt

Re: backup through Java

От
Mark Lewis
Дата:
When it doesn't work, how does it not work?

If you see pg-dump.exe is still running but not doing anything, then it
might be because it generated more output to stdout than will fit in the
buffer, and you're not reading it.  One common mistake is to forget to
read stdout/stderr from the process.

-- Mark

On Thu, 2007-07-12 at 18:01 -0600, Michael Schmidt wrote:
> Folks,
> I know this isn't technically a JDBC question because backup isn't
> done through JDBC, but I thought this is where the Java experts would
> be.
>
> I've got a Java application developed in Eclipse interfacing a
> PostgreSQL 8.2.1 database.  The user can do a backup using pg-dump.exe
> - the Java code invokes this as an external process in a thread (Jobs
> interface, in Eclipse parlance).  This works some of the time - but
> not always.  Since it works sometimes, I think the Java code that
> invokes pg_dump.exe is basically OK, but since it hangs at other
> times, there is obviously something bad going on.  I don't know where
> to start looking for problems.  I was wondering if anyone had seen
> similar behavior (Java is usually pretty predictable in my experience)
> or had some thoughts on where the problem could lie so I could at
> least begin debugging my app.
>
> Thanks!
> Michael Schmidt

Re: backup through Java

От
"Michael Schmidt"
Дата:
Mr. Lewis,
 
When it wasn't working, it would just hang.  This happened either when the backup file was initially created (0 bytes on disk) or after it was completed.  Based on your comments, I looked at my BufferedReader code.  I found a comment on the Web that the CharSet should always be specified for the InputStreamReader, which I hadn't done.  I specified it as "US-ASCII" and backup hasn't hung since.  Maybe that fixed it!
 
Thanks for your thoughts!
 
Michael Schmidt
----- Original Message -----
Sent: Friday, July 13, 2007 8:02 AM
Subject: Re: [JDBC] backup through Java

When it doesn't work, how does it not work?

If you see pg-dump.exe is still running but not doing anything, then it
might be because it generated more output to stdout than will fit in the
buffer, and you're not reading it.  One common mistake is to forget to
read stdout/stderr from the process.

-- Mark

On Thu, 2007-07-12 at 18:01 -0600, Michael Schmidt wrote:
> Folks,
> I know this isn't technically a JDBC question because backup isn't
> done through JDBC, but I thought this is where the Java experts would
> be.

> I've got a Java application developed in Eclipse interfacing a
> PostgreSQL 8.2.1 database.  The user can do a backup using pg-dump.exe
> - the Java code invokes this as an external process in a thread (Jobs
> interface, in Eclipse parlance).  This works some of the time - but
> not always.  Since it works sometimes, I think the Java code that
> invokes pg_dump.exe is basically OK, but since it hangs at other
> times, there is obviously something bad going on.  I don't know where
> to start looking for problems.  I was wondering if anyone had seen
> similar behavior (Java is usually pretty predictable in my experience)
> or had some thoughts on where the problem could lie so I could at
> least begin debugging my app. 

> Thanks!
> Michael Schmidt