Menu

#17 Add option to not to write to database

3.0.1
closed
None
High
2015-08-03
2014-01-08
No

Current version of Checksum Checker writes statistics to the database for reporting purposes.

It is desirable that we remove the dependency of the reports on the checksum checker hence removing the checksum checker writing to the database.

Discussion

  • Kirti Chennareddy

    As a interim solution, a new property has been added to the checksum checker properties file, rollingchecker.db.supresswrite. This property is set to true to stop checksum checker from writing to the database.

     
  • margotc

    margotc - 2014-01-09

    A command line switch has been added to allow the opperator to overide the properties file parameter. -w or --supress-write can be added to the command line with a value of either true or false.

     
  • Kirti Chennareddy

    Testing on master branch,

    Get below error after about checking 25000 AIPs,
    Exception in thread "Thread-2" java.lang.OutOfMemoryError: unable to create new native thread
    at java.lang.Thread.start0(Native Method)
    at java.lang.Thread.start(Thread.java:691)
    at java.util.concurrent.ForkJoinPool.addWorker(ForkJoinPool.java:1132)
    at java.util.concurrent.ForkJoinPool.signalWork(ForkJoinPool.java:692)
    at java.util.concurrent.ForkJoinPool.addSubmission(ForkJoinPool.java:934)
    at java.util.concurrent.ForkJoinPool.invoke(ForkJoinPool.java:1520)
    at au.gov.naa.digipres.rollingchecker.CheckerThread.scanAIPs(CheckerThread.java:700)
    at au.gov.naa.digipres.rollingchecker.CheckerThread.run(CheckerThread.java:284)

    Changed heap size to 4G and still get the same error.

    Works fine on the Java7 branch.

     
  • Kirti Chennareddy

    Testing on Replica_mods branch.
    Unable to build with below error -

    [javac] Compiling 159 source files to /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/build
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/Driver.java:47: error: org.postgresql.Driver is not abstract and does not override abstract method getParentLogger() in java.sql.Driver
    [javac] public class Driver implements java.sql.Driver
    [javac]        ^
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/ds/PGConnectionPoolDataSource.java:39: error: PGConnectionPoolDataSource is not abstract and does not override abstract method getParentLogger() in CommonDataSource
    [javac] public class PGConnectionPoolDataSource extends BaseDataSource implements Serializable, ConnectionPoolDataSource
    [javac]        ^
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/ds/PGPoolingDataSource.java:42: error: PGPoolingDataSource is not abstract and does not override abstract method getParentLogger() in CommonDataSource
    [javac] public class PGPoolingDataSource
    [javac]        ^
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/ds/PGSimpleDataSource.java:22: error: PGSimpleDataSource is not abstract and does not override abstract method getParentLogger() in CommonDataSource
    [javac] public class PGSimpleDataSource
    [javac]        ^
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/jdbc4/Jdbc4Connection.java:21: error: Jdbc4Connection is not abstract and does not override abstract method getNetworkTimeout() in Connection
    [javac] public class Jdbc4Connection extends AbstractJdbc4Connection implements java.sql.Connection
    [javac]        ^
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/jdbc4/Jdbc4Statement.java:21: error: Jdbc4Statement is not abstract and does not override abstract method isCloseOnCompletion() in Statement
    [javac] class Jdbc4Statement extends AbstractJdbc4Statement implements Statement
    [javac] ^
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/jdbc4/Jdbc4PreparedStatement.java:14: error: Jdbc4PreparedStatement is not abstract and does not override abstract method isCloseOnCompletion() in Statement
    [javac] class Jdbc4PreparedStatement extends Jdbc4Statement implements PreparedStatement
    [javac] ^
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/jdbc4/Jdbc4CallableStatement.java:15: error: Jdbc4CallableStatement is not abstract and does not override abstract method <T>getObject(String,Class<T>) in CallableStatement
    [javac] class Jdbc4CallableStatement extends Jdbc4PreparedStatement implements CallableStatement
    [javac] ^
    [javac]   where T is a type-variable:
    [javac]     T extends Object declared in method <T>getObject(String,Class<T>)
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/jdbc4/Jdbc4DatabaseMetaData.java:13: error: Jdbc4DatabaseMetaData is not abstract and does not override abstract method generatedKeyAlwaysReturned() in DatabaseMetaData
    [javac] public class Jdbc4DatabaseMetaData extends AbstractJdbc4DatabaseMetaData implements java.sql.DatabaseMetaData
    [javac]        ^
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/jdbc4/Jdbc4ResultSet.java:23: error: Jdbc4ResultSet is not abstract and does not override abstract method <T>getObject(String,Class<T>) in ResultSet
    [javac] public class Jdbc4ResultSet extends AbstractJdbc4ResultSet implements java.sql.ResultSet
    [javac]        ^
    [javac]   where T is a type-variable:
    [javac]     T extends Object declared in method <T>getObject(String,Class<T>)
    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-8.4-701.src/org/postgresql/xa/PGXADataSource.java:19: error: PGXADataSource is not abstract and does not override abstract method getParentLogger() in CommonDataSource
    [javac] public class PGXADataSource extends BaseDataSource implements Referenceable, XADataSource
    [javac]        ^
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 11 errors
    
     
  • Kirti Chennareddy

    Testing on replica_mods branch

    BUILD FAILED
    /kchome/kcadmin/wspaceDPSPTest/checksumchecker/build.xml:67: The following error occurred while executing this line:
    /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/build.xml:25: The following error occurred while executing this line:
    /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/build.xml:175: Basedir /kchome/kcadmin/wspaceDPSPTest/checksumchecker/ext/src/postgresql-jdbc-9.1-902 does not exist

     
  • Kirti Chennareddy

    Testing on replica_mods branch

    Build failed with error:

    [javac] /kchome/kcadmin/wspaceDPSPTest/checksumchecker/src/au/gov/naa/digipres/rollingchecker/gui/CheckerMainFrame.java:531: error: no suitable method found for sendErrorMessage(Exception)
    [javac] emailSender.sendErrorMessage(ex);
    [javac] ^
    [javac] method EmailSenderThread.sendErrorMessage(String) is not applicable
    [javac] (actual argument Exception cannot be converted to String by method invocation conversion)
    [javac] method EmailSenderThread.sendErrorMessage(File,Exception) is not applicable

     
  • Kirti Chennareddy

    Testing on replica_mods branch,

    Build was successful but Properties file was missing from the dist directly.
    Properties file was added back to the dist directory.

    Ran checksum checker on a database with multiple repository locations. Checksum checker seems to be taking the repository location from the properties file, instead it should take the location from the repository_location table in the database.

     
  • Kirti Chennareddy

    Changes have been moved to a new branch, replica2.
    Testing on replica2 branch,

    Build failed with error:
    java:307: error: constructor DPRSettings in class DPRSettings cannot be applied to given types;
    [javac] return new DPRSettings(prefs.get(DPRSettings.DB_USERNAME_KEY, ""), prefs.get(DPRSettings.DB_PASSWORD_KEY, ""), prefs
    [javac] ^
    [javac] required: String,String,String,String,String,String
    [javac] found: String,String,String,String,String
    [javac] reason: actual and formal argument lists differ in length
    [javac] [checking au.gov.naa.digipres.rollingchecker.gui.ExceptionDialog]

     
  • Kirti Chennareddy

    Testing on replica2 branch,

    New property, 'rollingchecker.db.supress_write' has been added to the checker.properties file.

    If the value is set as true, then checksum checker did not write to the database. Any other value allowed checksum checker to write to the
    database, i.e update the aip_statistics table.

    Tested ok.

     
  • Kirti Chennareddy

    • status: open --> closed
     
  • Terry O'Neill

    Terry O'Neill - 2015-08-03
    • Group: Next Release --> 3.0.1
     

Log in to post a comment.