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]
