[ckan-changes] [ckan/ckan] 8ec2b9: [#3606] Allow plugins to react to forks of the CKA...

GitHub noreply at github.com
Wed Jul 5 10:44:09 UTC 2017


  Branch: refs/heads/dev-v2.7
  Home:   https://github.com/ckan/ckan
  Commit: 8ec2b95cd8c79ec9d1338d8a1fb03cb29f91c2c2
      https://github.com/ckan/ckan/commit/8ec2b95cd8c79ec9d1338d8a1fb03cb29f91c2c2
  Author: Florian Brucker <florian.brucker at it.karlsruhe.de>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M ckan/lib/jobs.py
    M ckan/plugins/interfaces.py
    M ckanext/datastore/backend/__init__.py
    M ckanext/datastore/backend/postgres.py
    M ckanext/datastore/plugin.py

  Log Message:
  -----------
  [#3606] Allow plugins to react to forks of the CKAN process

This commit introduces the IForkObserver interface which allows
extensions to react to forks of the CKAN processes using the interface's
before_fork and after_fork methods.

This mechanism is then used to prevent a sharing of the DataStore's
SQLAlchemy engines between processes.


  Commit: 7fbaab4a89ce2ba4cab6e9c95c361bd49199af82
      https://github.com/ckan/ckan/commit/7fbaab4a89ce2ba4cab6e9c95c361bd49199af82
  Author: Florian Brucker <florian.brucker at it.karlsruhe.de>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M ckan/lib/jobs.py
    M ckan/plugins/interfaces.py
    M ckanext/datastore/backend/__init__.py
    M ckanext/datastore/plugin.py

  Log Message:
  -----------
  [#3606] Remove IForkObserver.after_fork

After fork notifications are currently not required to fix the issue at
hand but at a lot of implementation complexity. They are therefore
removed until need arises.


  Commit: f11098a07aaa569165c33d89d47a493ede995bf3
      https://github.com/ckan/ckan/commit/f11098a07aaa569165c33d89d47a493ede995bf3
  Author: Florian Brucker <florian.brucker at it.karlsruhe.de>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M ckanext/datastore/backend/__init__.py
    M ckanext/datastore/backend/postgres.py
    M ckanext/datastore/plugin.py

  Log Message:
  -----------
  [#3606] Use duck-typing to call before_fork in the PostgreSQL backend

This avoids unnecessarily inflation of the DatastoreBackend interface.
If it turns out that the IForkOberserver events (or events from other
interfaces) are often of interest in DataStorebackend implementations
then a good approach would be to make them real CKAN plugins so that
they can implement the desired interfaces themselves.


  Commit: 96e2032de4f5a7c084669b17e096518d2dfc27ba
      https://github.com/ckan/ckan/commit/96e2032de4f5a7c084669b17e096518d2dfc27ba
  Author: Florian Brucker <florian.brucker at it.karlsruhe.de>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M ckanext/datastore/tests/test_db.py

  Log Message:
  -----------
  [#3606] Add test case for Datastore backend jobs problem

This test case captures the problem described in issue #3606: if
multiple background jobs access the Datastore then the first of them
succeeds while the following ones fail with various exceptions related
to database connections being closed unexpectedly.


  Commit: 24dd2bdc311e60da8d9b91b8510e4d19982318b3
      https://github.com/ckan/ckan/commit/24dd2bdc311e60da8d9b91b8510e4d19982318b3
  Author: Ian Ward <ian at excess.org>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M ckanext/datastore/controller.py
    M ckanext/datastore/templates/datastore/dictionary.html

  Log Message:
  -----------
  [#3557] data dictionary form: accept arbitrary fields


  Commit: da840457fac036264da969867aef3d8f3bf7f510
      https://github.com/ckan/ckan/commit/da840457fac036264da969867aef3d8f3bf7f510
  Author: Ian Ward <ian at excess.org>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M ckanext/datastore/templates/datastore/dictionary.html

  Log Message:
  -----------
  [#3557] type override field


  Commit: eab4db480cfe5def0a11248120d2e0cfb1a4571e
      https://github.com/ckan/ckan/commit/eab4db480cfe5def0a11248120d2e0cfb1a4571e
  Author: Ian Ward <ian at excess.org>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M ckanext/datastore/controller.py

  Log Message:
  -----------
  [#3557] clean_dict removes empty dicts, not wanted


  Commit: 9590c8881ea49ba9147549e8413f3dac275b2cc1
      https://github.com/ckan/ckan/commit/9590c8881ea49ba9147549e8413f3dac275b2cc1
  Author: Aleksandar Jovanov <aleksandar.jovanov at keitaro.com>
  Date:   2017-07-05 (Wed, 05 Jul 2017)

  Changed paths:
    M ckan/templates/macros/form.html

  Log Message:
  -----------
  [#3661] Fix issue upon creating new org/group through UI form


Compare: https://github.com/ckan/ckan/compare/476698196f38...9590c8881ea4


More information about the ckan-changes mailing list