You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by "Dag H. Wanvik" <da...@oracle.com> on 2011/06/07 14:05:00 UTC
Re: Disappearing service.properties file
"Brett Mason" <b....@adinstruments.com> writes:
> It does seem that Cases 1 & 2 are fairly easy to reproduce by terminating
> the Java process while it is updating service.properties. I've included some
> sample code which will trigger the problem quite reliably when it is
> terminated on the following environments:
>
> Windows 7 64-bit, Sun 32-bit JRE 1.6u20, Derby 10.6.1.0
> Windows 7 64-bit, Sun 32-bit JDK 1.6u25, Derby 10.8.1.2
> Debian Linux 5.0, 32-bit, Sun JRE 1.6u20, Derby 10.6.1.0 (running within
> Virtual Box)
>
> Is this issue worth reporting as a bug?
>
> Are there other scenarios where the file might be updated as part of
> "normal" database usage? Particularly for regular INSERT/UPDATE/DELETE
> statements, but also maintenance procedures such as SYSCS_BACKUP_DATABASE,
> SYSCS_CHECK_TABLE, SYSCS_COMPRESS_TABLE, SYSCS_UPDATE_STATISTICS.
Please file a JIRA issue for this so we can discuss it in the community
with a view to improving the way we handle these transactional propery
settings. I don't think INSERT/UPDATE/DELETE are subject to this
scenario, but backup/restore may be. As for statistics, I don't think so
from my preliminary investigation, but I am not 100% sure yet.
Dag
>
> Thanks,
> Brett.
>
>
>
> import java.sql.*;
> import org.apache.derby.jdbc.*;
>
> public class DerbyLogArchiveModeTest {
>
> public static void main(String[] args) {
> final EmbeddedDataSource ds = new EmbeddedDataSource();
> ds.setDatabaseName("derbyTest");
> ds.setCreateDatabase("create");
>
> try {
> final Connection conn = ds.getConnection();
>
> try {
> final Statement stmt = conn.createStatement();
>
> try {
> while (true) {
> stmt.execute("call
> SYSCS_UTIL.SYSCS_DISABLE_LOG_ARCHIVE_MODE(1)");
> }
> } finally {
> stmt.close();
> }
> } finally {
> conn.close();
> }
> } catch (SQLException e) {
> e.printStackTrace();
> }
> }
> }
RE: Disappearing service.properties file
Posted by Brett Mason <b....@adinstruments.com>.
Thanks,
Logged as DERBY-5283.
Cheers,
Brett.
-----Original Message-----
From: Dag H. Wanvik [mailto:dag.wanvik@oracle.com]
Sent: Wednesday, 8 June 2011 00:05
To: Derby Discussion
Subject: Re: Disappearing service.properties file
"Brett Mason" <b....@adinstruments.com> writes:
> It does seem that Cases 1 & 2 are fairly easy to reproduce by terminating
> the Java process while it is updating service.properties. I've included
some
> sample code which will trigger the problem quite reliably when it is
> terminated on the following environments:
>
> Windows 7 64-bit, Sun 32-bit JRE 1.6u20, Derby 10.6.1.0
> Windows 7 64-bit, Sun 32-bit JDK 1.6u25, Derby 10.8.1.2
> Debian Linux 5.0, 32-bit, Sun JRE 1.6u20, Derby 10.6.1.0 (running within
> Virtual Box)
>
> Is this issue worth reporting as a bug?
>
> Are there other scenarios where the file might be updated as part of
> "normal" database usage? Particularly for regular INSERT/UPDATE/DELETE
> statements, but also maintenance procedures such as SYSCS_BACKUP_DATABASE,
> SYSCS_CHECK_TABLE, SYSCS_COMPRESS_TABLE, SYSCS_UPDATE_STATISTICS.
Please file a JIRA issue for this so we can discuss it in the community
with a view to improving the way we handle these transactional propery
settings. I don't think INSERT/UPDATE/DELETE are subject to this
scenario, but backup/restore may be. As for statistics, I don't think so
from my preliminary investigation, but I am not 100% sure yet.
Dag
>
> Thanks,
> Brett.
>
>
>
> import java.sql.*;
> import org.apache.derby.jdbc.*;
>
> public class DerbyLogArchiveModeTest {
>
> public static void main(String[] args) {
> final EmbeddedDataSource ds = new EmbeddedDataSource();
> ds.setDatabaseName("derbyTest");
> ds.setCreateDatabase("create");
>
> try {
> final Connection conn = ds.getConnection();
>
> try {
> final Statement stmt = conn.createStatement();
>
> try {
> while (true) {
> stmt.execute("call
> SYSCS_UTIL.SYSCS_DISABLE_LOG_ARCHIVE_MODE(1)");
> }
> } finally {
> stmt.close();
> }
> } finally {
> conn.close();
> }
> } catch (SQLException e) {
> e.printStackTrace();
> }
> }
> }