dbeaver / cloudbeaver

Cloud Database Manager
https://dbeaver.com/
Apache License 2.0
3.48k stars 377 forks source link

How to apply navigationTree: childrenLimit on CB Comm AMI from AWS #1442

Closed amorcomb-west closed 1 year ago

amorcomb-west commented 1 year ago

"Elements are limited to 500 items"

This is the same request as cloudbeaver/issues/387 and others. The 500 limit is too restrictive.

Describe the solution you'd like This value should be configurable in the UI by an admin.

The proposed solution (supplied in prior Issues) is to update product.conf. Using the package CB that is distributed in the AWS Marketplace there is no clear path to do this. On my server there are 4 versions of this file distributed in the filesystem as follows:

/var/lib/docker/overlay2/.../diff/opt/cloudbeaver/conf etc.

Furthermore, after updating that value to something larger than 500 (in my case 5000) and then restarting nginx, I see no difference in behavior. There is still a hard limit to displaying more than 500 children items in the navigation tree.

Please provide clear instructions for effecting this behavior using the packaged image provided in the marketplace.

devnaumov commented 1 year ago

You can change the value in the product.conf (conf/product.conf) The example of the configuration:

app: {
    navigationTree: {
        childrenLimit: 1000
    }
}

Make sure to restart the server after that

amorcomb-west commented 1 year ago

Thanks for the response. As stated in the original query, I have updated the file in all 4 places and restarted nginx.

What would be helpful is to post which of the 4 files I should care about and further why updating that file had no impact on the behavior after restart.

--- content of product.conf (1 of 4) --- // Product configuration. Customized web application behavior // It is in JSONC format { // Global properties core: { // User defaults user: { defaultTheme: "light", defaultLanguage: "en" }, app: { // Log viewer config logViewer: { refreshTimeout: 3000, logBatchSize: 1000, maxLogRecords: 2000, maxFailedRequests: 3 }, navigationTree: { childrenLimit: 5000 } }, authentication: { primaryAuthProvider: 'local' } }, // Notifications config core_events: { notificationsPool: 5 }, plugin_data_spreadsheet_new: { hidden: false }, plugin_data_export: { disabled: false } }

--- paths of product.conf files --- /var/lib/docker/overlay2/59d54fec32a6f63653f6cce835480cba8ac6a56a0d35947294dd2913daa8ef22/diff/opt/cloudbeaver/conf/product.conf /var/lib/docker/overlay2/ac92948a2dfc1fa40bf0eb6dc92935aaf20cec1078451e8ba7f6276e548e4560/diff/opt/cloudbeaver/conf/product.conf /var/lib/docker/overlay2/ac92948a2dfc1fa40bf0eb6dc92935aaf20cec1078451e8ba7f6276e548e4560/merged/opt/cloudbeaver/conf/product.conf /var/lib/docker/overlay2/b6de647e3427556cd7235fd9c501a8f64fbb771aeaed271186d8790a1b306adf/diff/opt/cloudbeaver/conf/product.conf /var/lib/docker/overlay2/38149e5e0232e88cb9d966848be2fba1b42cc18edbe63a56f5ca3e7bcbb69540/diff/opt/cloudbeaver/conf/product.conf


nginx -t systemctl restart nginx

image
devnaumov commented 1 year ago

Please ensure that you are restarting the CloudBeaver server, not Nginx. Additionally, try running the following command to determine the location of your volume. Once the volume has been determined, change the configuration there. docker inspect -f '{{ range .Mounts }}{{ println .Source }}{{ end }}' cloudbeaver-container-name

amorcomb-west commented 1 year ago

Thanks for the information. Where is the documentation on how to 'restart the CloudBeaver server"?

devnaumov commented 1 year ago

Run docker ps to see your running containers. Find the CloudBeaver one and then run docker restart [my_container]

amorcomb-west commented 1 year ago

Thank you, restarting using docker restart cloudbeaver properly picked up the change in product.conf

Note that docker inspect -f '{{ range .Mounts }}{{ println .Source }}{{ end }}' cloudbeaver returns /var/cloudbeaver/workspace

However there are no .conf files located under that path. Therefore I can only conclude that one of the product.conf files under the /var/lib/docker/overlay2/ dir contains the active config. I can determine which one is active through trial and error, but it would be preferable to have a definitive command to determine which is active.