[CONTROLLER-1411] Make H2 or some pure javadb the default persistent database for clustering Created: 25/Aug/15  Updated: 12/Jan/21  Resolved: 27/Apr/20

Status: Resolved
Project: controller
Component/s: clustering
Affects Version/s: Lithium
Fix Version/s: Magnesium SR1, 2.0.0

Type: Improvement
Reporter: Moiz Raja Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issue Links:
Blocks
blocks CONTROLLER-1921 Deprecate leveldb persistence Resolved
Relates
relates to CONTROLLER-1389 Leveldbjni not available on ARM Resolved
relates to CONTROLLER-1884 Custom Akka Persistence Journal imple... Resolved
relates to ODLPARENT-213 Remove odl-akka-leveldb Resolved

 Description   

Replace leveldb with a pure java db



 Comments   
Comment by Moiz Raja [ 25/Aug/15 ]

Use akka jdbc driver maybe.

Comment by Gary Wu [ 03/Nov/15 ]

Per discussions with Tom Pantelis, the possibility of using JDBC with a Java-only database will need packaging discussions with a larger group (TSC or TWS).

For now will just add a comment in akka.conf to describe how to turn on the Java-only implementation of leveldb.

https://git.opendaylight.org/gerrit/#/c/29217/

Comment by Moiz Raja [ 10/Nov/15 ]

Automatically choose the journal and snapshot plugin based on the system on which the controller is running. If the journal is set to leveldb only then we should do the auto selection of journal plugin. Otherwise we should leave it as is.

Use leveldbjava where jni is not supported. This should be sufficient.

Comment by Michael Vorburger [ 07/Oct/16 ]

I don't suppose as "H2 or some pure javadb" you would be interested in using (my) https://github.com/vorburger/MariaDB4j/ project? It's MariaDB (= mysql) binaries packaged in Java - works great, for lots of people out there (several hundreds of dependencies on GitHub alone to it; known to have many more behind firewall corp. users).

Comment by Tom Pantelis [ 07/Oct/16 ]

Sure. We could provide it as an option where leveldb JNI isn't supported if it performs better than the java-only implementation of leveldb. You'd have to write an akka plugin for it.

(In reply to Michael Vorburger from comment #4)
> I don't suppose as "H2 or some pure javadb" you would be interested in using
> (my) https://github.com/vorburger/MariaDB4j/ project? It's MariaDB (=
> mysql) binaries packaged in Java - works great, for lots of people out there
> (several hundreds of dependencies on GitHub alone to it; known to have many
> more behind firewall corp. users).

Comment by Michael Vorburger [ 06/Feb/17 ]

see also CONTROLLER-1591

Comment by Robert Varga [ 15/Mar/19 ]

CONTROLLER-1884 tracks a pure-Java custom persistence journal implementation. This issue tracks making that journal the default option.

Generated at Wed Feb 07 19:55:29 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.