Skip to content

Migration from DSE Java driver to OSS Java driver or Scylla Java driver

Piotr Jastrzębski edited this page Mar 8, 2019 · 3 revisions

It is always recommended to re-compile your application using the new driver. This way compiler will ensure that the code is compatible and can safely work new driver.

Main differences between DSE Java driver and OSS/Scylla Java drivers

  1. DSE Java driver can be only used to connect to DSE. "Using the DSE Drivers against anything other than DataStax Enterprise server is a violation of the user license." [1]
  2. DSE Java driver has Unified Authentication which enables LDAP and Kerberos integration. [2]
  3. DSE Java driver has support for Solr.
  4. DSE Java driver has support for Graph. [3]
  5. DSE comes with a set of additional types to represent geospatial data: PointType, LineStringType, and PolygonType [4]
  6. DSE Java driver supports DSE specific protocol extentions DSE_V1 and DSE_V2. They are backwards compatible [5] and add support for Continuous Paging [6] and backpressure.

"Currently, there are no performance differences between the OSS and DSE Drivers, as DSE Drivers use the same core code as the OSS Drivers" [1]

When a change in the code is required

In some cases recompilation won't be enough and some changes to the code will be necessary. Using a class from any of the following packages will result in a code change:

  • com.datastax.driver.dse
  • com.datastax.driver.dse.auth
  • com.datastax.driver.dse.geometry
  • com.datastax.driver.dse.geometry.codecs
  • com.datastax.driver.dse.graph
  • com.datastax.driver.dse.search
  • com.datastax.driver.dse.serde
  • com.datastax.dse.graph.api
  • com.datastax.dse.graph.api.predicates
  • com.datastax.dse.graph.internal
  • com.datastax.dse.graph.internal.serde
  • com.datastax.dse.graph.internal.utils

In particular usage of DseCluster and DseSession would have to be changed to Cluster and Session. Moreover usage of ProtocolVersion DSE_V1 or DSE_V2 would have to be changed to V4 or V5.

Clone this wiki locally