Test Camunda batch with Postgres and Oracle

Hi

I’m testing Camunda batch process with Junit4 all is going well and fast when we try with the Postgres database, but as soon we change to Oracle to execute the same tests as Postgres did, those tests execute well, but it takes longer than expected. Postgres takes around 3 minutes to execute 226 tests, but Oracle can take between 12 minutes and 1 hour and even more to execute the same 226 tests.

Do you know if we have to know some special considerations to configure with Oracle database?
Is it normal behavior between Camunda batch and Oracle?

This is our Postgres configuration:

spring:
  profiles: dev-postgres
  jpa:
    hibernate: 
      ddl-auto: validate
    database: POSTGRESQL
    database-platform: org.hibernate.dialect.PostgreSQL9Dialect
    properties:
      hibernate:
        ejb:
          interceptor: com.opessoftware.library.jpa.util.HibernateCustomInterceptor
  datasource:
    driverClassName: org.postgresql.Driver
    hikari:
      pool-name: fatca-custom-pool
      maximum-pool-size: 50
      jdbc-url: ${jdbcUrl:jdbc:postgresql://localhost:5432}/fatca?reWriteBatchedInserts=true
      username: postgres
      password: *********
    
opessoftware:
  databasename: fatca
  auth:
    datasource:
      url: ${jdbcUrl:jdbc:postgresql://localhost:5432}/auth
      username: postgres
      password: *********
  fatca:
    engine:
      datasource:
        url: ${jdbcUrl:jdbc:postgresql://localhost:5432}/fatca-camunda?reWriteBatchedInserts=true
        username: postgres
        password: *********
      batchsize: 5000
      camunda:
        bpm:
          application:
            isDeleteUponUndeploy: false
            isScanForProcessDefinitions: false
            isDeployChangedOnly: true
            isResumePreviousVersions: true
            resumePreviousBy: a value
          job-execution:
            enabled: true
          metrics:
            enabled: false
            db-reporter-activate: false
          generic-properties:
            properties:
              batchJobsPerSeed: 20
              invocationsPerBatchJob: 5
          database:
            type: postgres
            schema-update: true
            jdbc-batch-processing: true
          history-level: full

This is our Oracle configuration:

spring:
  profiles: dev-oracle
  jpa:
    hibernate:
      ddl-auto: none
    database: oracle
    properties:
      hibernate:
        dialect: org.hibernate.dialect.Oracle12cDialect
        ejb:
          interceptor: com.opessoftware.library.jpa.util.HibernateCustomInterceptorOracle
  datasource:
    driverClassName: oracle.jdbc.OracleDriver
    hikari:
      pool-name: fatca-custom-pool
      maximum-pool-size: 50
      jdbc-url: ${jdbcUrl}
      username: fatca
      password: ********
    
opessoftware:
  databasename: fatca
  auth:
    datasource:
      url: ${jdbcUrl}
      username: auth
      password: ********
  fatca:
    engine:
      datasource:
        url: ${jdbcUrl}
        username: "\"fatca-camunda\""
        password: ********
      batchsize: 5000
      camunda:
        bpm:
          application:
            isDeleteUponUndeploy: false
            isScanForProcessDefinitions: false
            isDeployChangedOnly: true
            isResumePreviousVersions: true
            resumePreviousBy: a value
          job-execution:
            enabled: true
          metrics:
            enabled: false
            db-reporter-activate: false
          generic-properties:
            properties:
              batchJobsPerSeed: 20
              invocationsPerBatchJob: 5
          database:
            type: oracle
            schema-update: true
            jdbc-batch-processing: true
          history-level: full

Let us know if we doing something wrong in our configuration.

We are using:

  • Our own configure engine with SpringProcessEngineConfiguration.
  • Camunda 7.14
  • Camunda batch 1.5.1

Thanks in advance!

Juan.