Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
10.6.1.0, 10.8.1.2
-
None
-
>sysinfo
------------------ Java Information ------------------
Java Version: 1.6.0_26
Java Vendor: Sun Microsystems Inc.
Java home: C:\Program Files (x86)\Java\jre6
Java classpath: .;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derby.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbynet.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbyclient.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbytools.jar
OS name: Windows 7
OS architecture: x86
OS version: 6.1
Java user name: bmason
Java user home: C:\Users\BMASON
Java user dir: C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
java.runtime.version: 1.6.0_26-b03
--------- Derby Information --------
JRE - JDBC: Java SE 6 - JDBC 4.0
[C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derby.jar] 10.6.1.0 - (938214)
[C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbytools.jar] 10.6.1.0 - (938214)
[C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbynet.jar] 10.6.1.0 - (938214)
[C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbyclient.jar] 10.6.1.0 - (938214)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale : [English/New Zealand [en_NZ]]
Found support for locale: [cs]
version: 10.6.1.0 - (938214)
Found support for locale: [de_DE]
version: 10.6.1.0 - (938214)
Found support for locale: [es]
version: 10.6.1.0 - (938214)
Found support for locale: [fr]
version: 10.6.1.0 - (938214)
Found support for locale: [hu]
version: 10.6.1.0 - (938214)
Found support for locale: [it]
version: 10.6.1.0 - (938214)
Found support for locale: [ja_JP]
version: 10.6.1.0 - (938214)
Found support for locale: [ko_KR]
version: 10.6.1.0 - (938214)
Found support for locale: [pl]
version: 10.6.1.0 - (938214)
Found support for locale: [pt_BR]
version: 10.6.1.0 - (938214)
Found support for locale: [ru]
version: 10.6.1.0 - (938214)
Found support for locale: [zh_CN]
version: 10.6.1.0 - (938214)
Found support for locale: [zh_TW]
version: 10.6.1.0 - (938214)
------------------------------------------------------
>sysinfo ------------------ Java Information ------------------ Java Version: 1.6.0_26 Java Vendor: Sun Microsystems Inc. Java home: C:\Program Files (x86)\Java\jre6 Java classpath: .;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derby.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbynet.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbyclient.jar;C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin\../lib/derbytools.jar OS name: Windows 7 OS architecture: x86 OS version: 6.1 Java user name: bmason Java user home: C:\Users\BMASON Java user dir: C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\bin java.specification.name: Java Platform API Specification java.specification.version: 1.6 java.runtime.version: 1.6.0_26-b03 --------- Derby Information -------- JRE - JDBC: Java SE 6 - JDBC 4.0 [C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derby.jar] 10.6.1.0 - (938214) [C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbytools.jar] 10.6.1.0 - (938214) [C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbynet.jar] 10.6.1.0 - (938214) [C:\Users\BMASON\Sandbox\libs\db-derby-10.6.1.0-bin\lib\derbyclient.jar] 10.6.1.0 - (938214) ------------------------------------------------------ ----------------- Locale Information ----------------- Current Locale : [English/New Zealand [en_NZ]] Found support for locale: [cs] version: 10.6.1.0 - (938214) Found support for locale: [de_DE] version: 10.6.1.0 - (938214) Found support for locale: [es] version: 10.6.1.0 - (938214) Found support for locale: [fr] version: 10.6.1.0 - (938214) Found support for locale: [hu] version: 10.6.1.0 - (938214) Found support for locale: [it] version: 10.6.1.0 - (938214) Found support for locale: [ja_JP] version: 10.6.1.0 - (938214) Found support for locale: [ko_KR] version: 10.6.1.0 - (938214) Found support for locale: [pl] version: 10.6.1.0 - (938214) Found support for locale: [pt_BR] version: 10.6.1.0 - (938214) Found support for locale: [ru] version: 10.6.1.0 - (938214) Found support for locale: [zh_CN] version: 10.6.1.0 - (938214) Found support for locale: [zh_TW] version: 10.6.1.0 - (938214) ------------------------------------------------------
-
Data corruption, Seen in production
Description
If Derby is terminated while SYSCS_DISABLE_LOG_ARCHIVE_MODE is being called service.properties can be left in a broken state.
Depending on timing either of the two cases can happen:
Case 1:
"ERROR XBM0S: Unable to rename file 'C:\PATH_TO_DB\service.properties' to 'C:\PATH_TO_DB\service.propertiesold' " is thrown when next trying to call
SYSCS_DISABLE_LOG_ARCHIVE_MODE(1). Both "service.properties" and "service.propertiesold" are present in the database directory. Removing "service.propertiesold" corrects the problem.
Case 2:
"SQLException: Database 'C:\PATH_TO_DB' not found" is thrown when booting the database. The file service.properties does not exist in the database directory but service.propertiesold does exist. Renaming the file back to "service.properties" corrects the problem.
As mentioned above both cases have workarounds but they require manual intervention which is a problem for applications installed to a customer site. It would be great if a more reliable method to update the file could be found.
The following sample code will reproduce the issue fairly reliably by terminating the java process:
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)
} finally
{ stmt.close(); }} finally
{ conn.close(); }} catch (SQLException e)
{ e.printStackTrace(); } }
}
Attachments
Attachments
Issue Links
- relates to
-
DERBY-6289 Derby 10.8 backport issue (summer 2013)
- Closed