fivetran-arunsuri commented on PR #426:
URL: https://github.com/apache/polaris/pull/426#issuecomment-2464378978

   > Hello @fivetran-arunsuri ,
   > 
   > That is expected as Polaris is not enable eclipse-link by default. It is 
possible to enable it as part of the build. See following for detail (same can 
be found in https://polaris.apache.org/in-dev/unreleased/metastores/):
   > 
   > ```
   > Apache Polaris supports the following optional build options:
   > 
   > -PeclipseLink=true – Enables the EclipseLink extension.
   > -PeclipseLinkDeps=[groupId]:[artifactId]:[version],... – Specifies one or 
more additional dependencies for EclipseLink (e.g., JDBC drivers) separated by 
commas.
   > ```
   > 
   > This is archived by the same file you put the PR with following snippet:
   > 
   > ```
   > if (project.properties.get("eclipseLink") == "true") {
   >   dependencies { implementation(project(":polaris-eclipselink")) }
   > }
   > ```
   > 
   > Reasoning for this is by default eclipselink is configured to use h2 
database which is not very useful for prod graded deployment. Due to licensing 
concern as well as various diff backends end-users may preferred, none of the 
other database drivers are included as of now. There is a purpose to use 
quarkus to close this gap (#392), however, that is not yet completed as of 
today.
   > 
   > Thanks, Yong Zheng
   
   Hey Yong Zheng,
   Thank you for the information. I agree that EclipseLink is currently 
configured to use the H2 database by default. However, I noticed that the steps 
to include EclipseLink as a build option are missing from the production 
documentation 
[here](https://polaris.io/#tag/Configuring-Polaris-for-Production). This also 
leads to issues because the configuration requires setting up the 
metastoremanager like this:
   metaStoreManager:
     type: eclipse-link
     conf-file: META-INF/persistence.xml
     persistence-unit: polaris
   in polaris-server.yml, which currently pulls EclipseLink from the build 
options as you mentioned, creating confusion.
   
   Adding the dependency directly in the PR, as I’ve done, should prevent any 
errors mentioned in the documentation and keep things straightforward. We could 
also update the documentation to specify that in case additional backends 
require dependencies for eg postgres here that can be added to the build file, 
as our team is currently handling it now. Since we’ll be modifying 
persistence.xml anyway, this approach seems practical.
   
   I'm unclear on why making EclipseLink optional is necessary. Regardless of 
the database backend used, this property would still be required for production 
cases and not the in memory obe, wouldn’t it? Let me know your thoughts.
   
   Thanks,
   Arun
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to