)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"e1b8dd33530ff939a0ef7de19b7d633cda521a52","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8b71ec63_612c8267","updated":"2024-08-17 01:20:57.000000000","message":"Why do you just handle for Postgres? Should we add for MariaDB or others?","commit_id":"b5bbdd1b559793e1f01cc59638268d803cc9690f"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"053c6b9e36cbd8dfcb4654731b26f8dd64c164ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f08cd531_281c6ac9","updated":"2024-08-16 22:37:39.000000000","message":"recheck","commit_id":"b5bbdd1b559793e1f01cc59638268d803cc9690f"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"d876cbd34d975f10ad10a5b4c8e722d3831a6089","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e9056131_ce61e9df","in_reply_to":"544bac3e_925a4a0e","updated":"2024-08-19 01:24:07.000000000","message":"I think we should make this function as a common between datastores. Let\u0027s do that, please.","commit_id":"b5bbdd1b559793e1f01cc59638268d803cc9690f"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"5677de34527ee9cc0f200979526930d4cf01a789","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"544bac3e_925a4a0e","in_reply_to":"8b71ec63_612c8267","updated":"2024-08-18 13:15:26.000000000","message":"Hello Bo, Thanks for the comment!\n\nFor mariadb, `vm.swappiness` that is described in https://mariadb.com/kb/en/configuring-swappiness is not namespaced in docker. Please see https://docs.docker.com/engine/reference/commandline/run/#configure-namespaced-kernel-parameters-sysctls-at-runtime for the detail. \n\nFor mysql, I do not find any tuning kernel parameters, but I can modify our code if needed.","commit_id":"b5bbdd1b559793e1f01cc59638268d803cc9690f"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"051be095ea14c272b94f024e4a9c81af53f18594","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3db0657b_8c39ef65","updated":"2024-08-19 12:32:26.000000000","message":"Hi Bo! Thanks for the comment, That is a good point. I will update the patch.","commit_id":"135cf12b58110fe79d6885c36938aaea23ad72d3"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"423c01f98f3392307d363f549128f268d9f7998d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b8d0341f_1dd794da","updated":"2024-08-18 13:17:56.000000000","message":"recheck","commit_id":"135cf12b58110fe79d6885c36938aaea23ad72d3"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"b79d7738ab0b41661c0a89e36774399f4977f5c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c524d644_d18ae9c7","updated":"2024-08-22 06:42:52.000000000","message":"Hello, I updated the code. We can use `BaseDbApp.get_sysctls()` to get in the `sysctl` parameters when staring database docker container.\n\nDocker containers can start with various startup options. It depends on applications which startup parameters to specify. For `postgres` application, users may want to modify `sysctl` parameters when staring the docker container. So Trove\u0027s guestagent of `postgres` should call `BaseDbApp.get_sysctls()`. For other databases, I think we currently need not to use kernel parameters. In the future when we need to do, we can modify code to use `BaseDbApp.get_sysctls()`.","commit_id":"424246b472a2d40c77a05fde52ccade1c7fae3a9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"fbbd0704507a8d67789f220ca7aa878250aa9872","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3614bd5e_27218493","updated":"2024-08-28 07:52:21.000000000","message":"I will review this patch later~","commit_id":"424246b472a2d40c77a05fde52ccade1c7fae3a9"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"5df05d99b021d2edf99bd353be4150103e20af24","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"48c378f1_9b11ac5b","in_reply_to":"3614bd5e_27218493","updated":"2024-09-02 23:27:04.000000000","message":"Hello Wu! Thanks a lot :)","commit_id":"424246b472a2d40c77a05fde52ccade1c7fae3a9"},{"author":{"_account_id":28691,"name":"Bo Tran","email":"ministry.96.nd@gmail.com","username":"ministry"},"change_message_id":"47ced428fe708279d956b0ac0ffe0ecfc880108d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ed4209d8_f9d8bf64","in_reply_to":"c524d644_d18ae9c7","updated":"2024-08-22 07:35:18.000000000","message":"yup. but i think you can add config option for each datastore soon. if not config, it can return {}. otherwise, if any config, they can config this option instead by edit code.\n\nbtw, i think this is option that is important for postgres. when run postgres, we need mount volume: /dev/shm for some option that postgres require.","commit_id":"424246b472a2d40c77a05fde52ccade1c7fae3a9"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"dc89b409d3f17bcb10db873af1d228ceba815686","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1f7d9f31_7b4274fa","in_reply_to":"ed4209d8_f9d8bf64","updated":"2024-08-23 02:54:06.000000000","message":"Hello Bo, Thanks for the comment! The presence and content of `sysctl` parameters vary by database. I believe the `sysctl` option is currently only needed for postgres, so it should not be applied to other databases.\n\nThe example of changing postgres\u0027s shared memory setting is just one instance. The `sysctl` parameters can change not only shared memory setting but also semaphores, message queues and other settings.","commit_id":"424246b472a2d40c77a05fde52ccade1c7fae3a9"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"dc89b409d3f17bcb10db873af1d228ceba815686","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"54943ff6_16b53d00","in_reply_to":"ed4209d8_f9d8bf64","updated":"2024-08-23 02:54:06.000000000","message":"Yes, this option is currently unique to postgres docker container and I prepared technical document for postgres users, but no docs for the other database users. \n\n`sysctl` parameters are not only for changing `shared memory` but also changing `semaphores`, `mqueue` and other parameters. The parameters to be changed depends on database. Therefore,","commit_id":"424246b472a2d40c77a05fde52ccade1c7fae3a9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"187cfad469659f21f4b7784418e75e0214aab822","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"1b7f28c0_301f19a0","updated":"2024-09-20 03:14:16.000000000","message":"This looks like a useful patch. though the other datastores don\u0027t need to use this setting currently. however, I still think we should add this setting for all datastores for scalability .I suggest we add this setting for all datastore like below. \n1. we add a `default_sysctl` options for all datastore\n2. we also add `sysctl` options for each datastore .(e.g: postgresql_sysctl opt in postgresql group)\n3. we combine the default_sysctl and the datastore sysctl opts in the agent.\n\nadditionally. you also need to handle these options in this function[0]. [0]:https://github.com/openstack/trove/blob/master/trove/guestagent/utils/docker.py#L75\n\nthanks","commit_id":"6fa87b53c28d9371ac91a36fd6c83dd383feca88"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"91bb54e84dda78796d92231132fe0589200a051c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a506b813_73eaf409","in_reply_to":"1b7f28c0_301f19a0","updated":"2024-09-20 03:22:14.000000000","message":"you can refer to this commit[1] to handle the opts in the function.\n[1]: https://github.com/openstack/trove/commit/9f7b9a95e86d69fce9ada96c16677d1e1b168884","commit_id":"6fa87b53c28d9371ac91a36fd6c83dd383feca88"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"84688ac3beb3169f8589abeaf29cc0725a2bd9c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"ac3c83f2_f4313e0f","in_reply_to":"a506b813_73eaf409","updated":"2024-09-26 08:14:43.000000000","message":"Hello Wu, Thanks for the review! I will update the patch.:)","commit_id":"6fa87b53c28d9371ac91a36fd6c83dd383feca88"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"c20c6f0e6dcfe3607b9a1d2cf8799e54d9e5de68","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"8311e714_fcd035d9","updated":"2024-09-29 00:49:45.000000000","message":"Hello, I updated the patch.\n\n1. \u0027docker_container_sysctls\u0027 setting added to the DEFAULT group.\n2. \u0027docker_container_sysctls\u0027 setting added to the mysql and mariadb group.\n\nUsage example1:\nUsing the following setting, every datastore container will run with `fs.mqueue.msg_max\u003d136`.\n```\n/etc/trove/trove-guestagent.conf\n[DEFAULT]\n...(snip)...\ndocker_container_sysctls \u003d fs.mqueue.msg_max:136\n```\n\nUsage example2:\nUsing the following setting, a postgresql datastore container will run with `kernel.msgmax\u003d8192` and `kernel.shmall\u003d18000000000000000000` and the other datastore containers will run with `kernel.msgmax\u003d4096` and `kernel.shmall\u003d18000000000000000000`.\n\n```\n/etc/trove/trove-guestagent.conf\n[DEFAULT]\n...\ndocker_container_sysctls \u003d kernel.msgmax:4096, kernel.shmall:18000000000000000000\n\n[postgresql]\n...\ndocker_container_sysctls \u003d kernel.msgmax:8192, \n```","commit_id":"5357387117bec5b7a555a6bff56f75c1ac95d244"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"1e693a6081def06bbd4e7b93ebebd9660ef1c463","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"8e1cb164_b3930657","updated":"2024-09-29 06:01:26.000000000","message":"recheck","commit_id":"3db9655306aea350f890e4ade1184b0619fdac58"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"88882fdf194096860112c3c95501289003f96eaf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"467bc512_6be86f1c","updated":"2024-10-15 03:44:12.000000000","message":"recheck","commit_id":"694b55b5b0c148a6e1612d3722c52506373a6151"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"5fa8002336397fa62d74440fdc53cc3dd24c96e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"986b593d_5366e4ed","updated":"2024-10-17 12:50:51.000000000","message":"Hi:\n```\nline 109, in _create_container_with_low_level_api\\n    container \u003d client.create_container(image\u003dimage,\\n\u0027, \"TypeError: ContainerApiMixin.create_container() got an unexpected keyword argument \u0027sysctls\u0027\n```\nmore info please check the log here: https://zuul.opendev.org/t/openstack/build/5cb318f17d6b4ab6af95cb41b207f651/log/controller/logs/screen-tr-cond.txt#720","commit_id":"6860b24bd21eb84e33f46f1bf98f29ff3beefd35"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"d30642ec7a55d3e1817d3e68e67986e927add022","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"1fef6405_9923df00","updated":"2024-12-25 03:07:12.000000000","message":"Hi Wu, could you please check this too?","commit_id":"04ffcc52647f09dc710bbed470798f1f89b5cd5c"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"fa1789d2f5ed19fa92154effca3120e77b0c3de9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"3f9ebc95_348b0854","updated":"2024-12-25 08:26:47.000000000","message":"Hi， the codes looks good to me. however, we need to improve the document and examples. thanks","commit_id":"04ffcc52647f09dc710bbed470798f1f89b5cd5c"}],"doc/source/admin/database_management.rst":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"fa1789d2f5ed19fa92154effca3120e77b0c3de9","unresolved":true,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Administrators can change shared memory settings of database containers. See `the PostgreSQL document \u003chttps://www.postgresql.org/docs/current/kernel-resources.html\u003e`_ and `the Docker configuration document \u003chttps://docs.docker.com/reference/cli/docker/container/run/#sysctl\u003e`_  for the details."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Configure the ``docker_container_sysctls`` option like following:"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. code-block:: ini"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"51e88d65_13ad95e2","line":31,"updated":"2024-12-25 08:26:47.000000000","message":"hint:  configure the ``docker_container_sysctls`` option in trove-guestagent.conf like following. \n\nthis option is only effect when it was configured in trove-guestagent.conf,  if user configure this option in trove.conf, it may not work as expected. so we add this hint explicitly.","commit_id":"04ffcc52647f09dc710bbed470798f1f89b5cd5c"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"fa1789d2f5ed19fa92154effca3120e77b0c3de9","unresolved":true,"context_lines":[{"line_number":31,"context_line":"Configure the ``docker_container_sysctls`` option like following:"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":".. code-block:: ini"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    [postgres]"},{"line_number":36,"context_line":"    docker_image \u003d your-registry/your-repo/postgres"},{"line_number":37,"context_line":"    backup_docker_image \u003d your-registry/your-repo/db-backup-postgres"}],"source_content_type":"text/x-rst","patch_set":16,"id":"92cd795e_38878986","line":34,"updated":"2024-12-25 08:26:47.000000000","message":"it should be nice to add an example of docker_container_sysctls in default section as well.\nand add a comment like \"this works for all datastores\".","commit_id":"04ffcc52647f09dc710bbed470798f1f89b5cd5c"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"fa1789d2f5ed19fa92154effca3120e77b0c3de9","unresolved":true,"context_lines":[{"line_number":35,"context_line":"    [postgres]"},{"line_number":36,"context_line":"    docker_image \u003d your-registry/your-repo/postgres"},{"line_number":37,"context_line":"    backup_docker_image \u003d your-registry/your-repo/db-backup-postgres"},{"line_number":38,"context_line":"    docker_container_sysctls \u003d kernel.shmmax\u003d17179869184, kernel.shmall:4194304"}],"source_content_type":"text/x-rst","patch_set":16,"id":"e60e1a6c_6c826924","line":38,"range":{"start_line":38,"start_character":31,"end_line":38,"end_character":79},"updated":"2024-12-25 08:26:47.000000000","message":"this example is not correct. we should use colon as a separator.\nthe correct format is ：\ndocker_container_sysctls \u003d kernel.shmmax:17179869184, kernel.shmall:4194304","commit_id":"04ffcc52647f09dc710bbed470798f1f89b5cd5c"}],"trove/guestagent/utils/docker.py":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"7623ba1a1562619380ba55098f0efb2cac00acc7","unresolved":true,"context_lines":[{"line_number":112,"context_line":"                                        user\u003dparam.get(\"user\"),"},{"line_number":113,"context_line":"                                        environment\u003dparam.get(\"environment\"),"},{"line_number":114,"context_line":"                                        command\u003dparam.get(\"command\"),"},{"line_number":115,"context_line":"                                        sysctls\u003dparam.get(\"sysctls\"),"},{"line_number":116,"context_line":"                                        host_config\u003dhost_config,"},{"line_number":117,"context_line":"                                        networking_config\u003dnetworking_config)"},{"line_number":118,"context_line":"    LOG.debug(\"Starting container: %s\", param.get(\"name\"))"}],"source_content_type":"text/x-python","patch_set":14,"id":"c6d68cb2_aa17b19e","line":115,"range":{"start_line":115,"start_character":41,"end_line":115,"end_character":69},"updated":"2024-10-17 12:57:33.000000000","message":"you shouldn\u0027t add \u0027sysctl\u0027 parameter at here. because \u0027sysctl\u0027 already be added into host_config above.","commit_id":"6860b24bd21eb84e33f46f1bf98f29ff3beefd35"},{"author":{"_account_id":31737,"name":"Hirotaka Wakabayashi","email":"hiwkby@yahoo.com","username":"hiwkby"},"change_message_id":"d2bb403518e8e7f4d3cd6c7a9debd7ce2f88f3c8","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                                        user\u003dparam.get(\"user\"),"},{"line_number":113,"context_line":"                                        environment\u003dparam.get(\"environment\"),"},{"line_number":114,"context_line":"                                        command\u003dparam.get(\"command\"),"},{"line_number":115,"context_line":"                                        sysctls\u003dparam.get(\"sysctls\"),"},{"line_number":116,"context_line":"                                        host_config\u003dhost_config,"},{"line_number":117,"context_line":"                                        networking_config\u003dnetworking_config)"},{"line_number":118,"context_line":"    LOG.debug(\"Starting container: %s\", param.get(\"name\"))"}],"source_content_type":"text/x-python","patch_set":14,"id":"b31cc909_8d0c9425","line":115,"range":{"start_line":115,"start_character":41,"end_line":115,"end_character":69},"in_reply_to":"c6d68cb2_aa17b19e","updated":"2024-10-21 07:39:17.000000000","message":"Sorry for the mistake, I fixed it.","commit_id":"6860b24bd21eb84e33f46f1bf98f29ff3beefd35"}]}
