Statistics
| Branch: | Tag: | Revision:

root / snf-pithos-backend / pithos @ 4a7b190f

# Date Author Comment
4a7b190f 09/30/2013 03:25 pm Nanakos Chrysostomos

pithos: Optimize latest_attribute_keys

pep8 fixes

b83df225 09/23/2013 09:49 pm Nanakos Chrysostomos

pithos: Optimize xfeature_get_bulk query

e751cad7 09/20/2013 01:07 pm Nanakos Chrysostomos

Merge branch 'feature-pithos-performance-optimizations-develop' into feature-pithos-performance-optimizations-perf

e98c5561 09/19/2013 05:46 pm Nanakos Chrysostomos

pithos: Further optimize latest_version_list query

76da16c3 09/19/2013 04:05 pm Nanakos Chrysostomos

pithos: Optimize latest_version_list query

7fef13f0 09/19/2013 12:30 pm Nanakos Chrysostomos

pithos: Optimize statistics_latest subquery

ed2064f8 09/18/2013 05:17 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.6' into develop

Conflicts:
Changelog
docs/admin-guide.rst
snf-cyclades-app/synnefo/api/management/commands/network-remove.py
snf-cyclades-app/synnefo/api/servers.py
snf-cyclades-app/synnefo/api/tests/servers.py
snf-cyclades-app/synnefo/logic/backend.py...

16b0ed4a 09/17/2013 11:27 am Nanakos Chrysostomos

pithos: Fixed missing _get_permissions_path function.

683d4324 09/16/2013 05:39 pm Sofia Papagiannaki

pithos: Add missing locks

_lookup_container() locks the container path
but it was not called from some write backend methods
that expect the container path to be locked.

In such cases optionally _lookup_object() calls
the _lookup_container() in order to lock the container path.

dc88754b 09/16/2013 04:19 pm Nanakos Chrysostomos

pithos: Performance Optimizations in Object Listing.

a06c276e 09/12/2013 02:34 pm Sofia Papagiannaki

pithos: Acquire locks in alphabetical path order in copy object

d47565d8 09/12/2013 01:09 pm Build Bot

Revert "pithos: Use pithos backend as context manager"

This reverts commit 23b41f6fefa1a066748810c4642e58e18a4b83f9.

23b41f6f 09/12/2013 11:06 am Sofia Papagiannaki

pithos: Use pithos backend as context manager

Substitue pre_exec() and post_exec()

48bb9c89 09/12/2013 10:22 am Sofia Papagiannaki

pithos: Add missing locks

_lookup_container() locks the container path
but it was not called by some write backend methods
which expected the container path to be locked.

In those cases optionally _lookup_object() calls
the _lookup_container() in order to lock the container path....

af395b9c 09/12/2013 10:15 am Sofia Papagiannaki

Revert "pithos: conditional select for update in lookup account"

This reverts commit 8a7ddfb0545348849d99fb686fec51659cbead58.

Select for update is not useful in case of account creation.
If there is no such account, 0 rows are returned
so there are no rows locked.

3a5994a8 09/09/2013 01:59 pm Sofia Papagiannaki

Pithos: Catch invalid hashmap input

Refs: #3745

76ef2478 09/09/2013 01:59 pm Sofia Papagiannaki

pithos: Remove obsolete backend method

f6d499b0 09/04/2013 07:49 pm Sofia Papagiannaki

pithos: Set attr lock_container_path during backend initialization

de8fb87d 09/02/2013 03:40 pm Sofia Papagiannaki

pithos: Destroy test database after test execution
:
Pithos uses a pool for the backend objects.
Pooled backend objects override the default close behavior
and return the object to the pool instead.
Therefore, django was unable to destroy the database
since there were active connections....

6e0f3e65 08/08/2013 05:40 pm Sofia Papagiannaki

pithos: Fix shared listing for implicitly shared objects

Provide also the appropriate tests

Refs: #4131

33af031c 08/08/2013 12:42 pm Sofia Papagiannaki

pithos: Fix delete deleted object

Delete object used to create a new object version flagged as deleted
regarless of the status of the previous version.
However, delete requests of a deleted object
should return 404 (NOT FOUND) response.

b1aca3e6 08/08/2013 12:12 pm Sofia Papagiannaki

pithos: Fix backend logging.

  • Log unicode arguments
  • Do not log get_block return value (too long)
057c0977 08/07/2013 11:33 am Christos Stavrakakis

Merge branch 'hotfix-0.14.5' into develop

Conflicts:
snf-pithos-backend/pithos/backends/modular.py
version

d2fc71c9 08/05/2013 05:02 pm Sofia Papagiannaki

pithos: Fix access object version data/metadata

adce84cd 08/02/2013 08:02 pm Sofia Papagiannaki

pithos: Fix TypeError when trying to retrieve invalid object version

d4e4e501 07/25/2013 12:46 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.3' into develop

Conflicts:
Changelog
snf-astakos-app/astakos/im/messages.py
snf-pithos-app/pithos/api/manage_accounts/__init__.py
snf-pithos-app/pithos/api/management/commands/reconcile-resources-pithos.py
snf-pithos-app/pithos/api/settings.py...

9e3a38bb 07/23/2013 03:33 pm Sofia Papagiannaki

pithos: Do not report size change in move object operation

Refs: #4154

96090728 07/22/2013 06:40 pm Sofia Papagiannaki

pithos: Fix line continuation format

2ff02341 07/22/2013 06:19 pm Sofia Papagiannaki

pithos: Fix reconcile-resource-pithos command

  • Improved performance (reduce interaction with the database)
  • Fix command when `userid` option is provided

Conflicts:
snf-pithos-app/pithos/api/management/commands/reconcile-resources-pithos.py
snf-pithos-backend/pithos/backends/lib/sqlite/node.py

fbafd482 07/17/2013 07:06 pm Sofia Papagiannaki

pithos: Revert pep8 changes from sqlalchemy ClauseElements

pep8 complains for comparison with boolean in sqlalchemy.sql.expression.ClauseElement
with "E712 comparison to True should be 'if cond is True:' or 'if cond:'"
but sqlalchemy does not understand it otherwise.

bc4f25c0 07/17/2013 11:41 am Sofia Papagiannaki

pithos: Update/extend tests

72e191e5 07/17/2013 11:41 am Sofia Papagiannaki

pithos: Fix migrations

Some data migrations require to import pithos app settings.
These migrations used to fail in nodes where snf-pithos-app
is not installed.
Disable these migrations if they fail to import the necessary settings.

1f96b68d 07/17/2013 11:41 am Sofia Papagiannaki

pithos backend: Introduce debug_method decorator

Substitute debug statements with a backend method decorator
which registers the method execution arguments, the return values
and the exceptions occured.

29148653 07/17/2013 11:41 am Sofia Papagiannaki

pithos: pep8 fixes

57ccbdbf 07/15/2013 04:01 pm Filippos Giannakos

pithos: Add missing blocksize attribute to blocker.

Blocksize was undefined for the blocker that combines files and rados objecsts.
Define it, according to the block parameters.

890f3d4c 07/12/2013 01:22 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.2' into develop

Conflicts:
Changelog
snf-astakos-app/astakos/im/messages.py
snf-astakos-app/astakos/im/views/target/__init__.py
snf-cyclades-app/synnefo/logic/backend.py
snf-cyclades-app/synnefo/logic/management/commands/reconcile-servers.py...

9f5c8386 07/11/2013 06:22 pm Sofia Papagiannaki

pithos: Fix attribute copy

The newly created attributed used to point in the source node
instead of the destination

Refs: 3510

762baa68 07/11/2013 02:56 pm Christos Stavrakakis

pithos: fix typo

18d46d23 07/11/2013 01:55 pm Sofia Papagiannaki

pithos backend: Extend list domain objects method

This method optionally accepts a user paramter and used to return
the objects shared to the user and having a specific domain.
This commit extends this functionality and returns also the objects
owned by the user and having the specific domain...

4100e0ee 07/11/2013 01:55 pm Sofia Papagiannaki

pithos: Update get objects in a specific domain

Improve performance

Refs: #3510

8b365874 07/11/2013 01:55 pm Sofia Papagiannaki

pithos: improve performance of get_domain_list

Before it used to query the database
for all the objects having the specific domain
and finally filtered out the objects to which the user had no access.
Now gets first the allowed_paths for the user and then...

3248f20a 07/10/2013 04:37 pm Sofia Papagiannaki

pithos: Handle backend transaction management

In commit 9f135224edf6e50386dc29e0a35806a92c56a50c
the transaction management has been moved
from the pithos backend to pithos frontend.
This commit updates all modules use pithos backend
to handle transactions manually.

a63f36a2 07/09/2013 03:54 pm Sofia Papagiannaki

pithos backend: Extend list domain objects method

This method optionally accepts a user paramter and used to return
the objects shared to the user and having a specific domain.
This commit extends this functionality and returns also the objects
owned by the user and having the specific domain...

aa00e32c 07/05/2013 07:31 pm Georgios D. Tsoukalas

pithos: don't crash in sqlite backend pools

36cae9f4 07/05/2013 07:31 pm Georgios D. Tsoukalas

pithos: backend.util pep8 fixes

cc62d2ab 07/05/2013 06:53 pm Sofia Papagiannaki

pithos: Cleanup api_method code

0534576c 07/05/2013 06:52 pm Sofia Papagiannaki

pithos: Restore sqlite backend module

ad9ada51 07/05/2013 01:24 pm Sofia Papagiannaki

pithos: Update get objects in a specific domain

Improve performance

Refs: #3510

a5b0519c 07/04/2013 12:51 pm Georgios D. Tsoukalas

pithos: fix syntax in sqlite backend

0df5250a 07/04/2013 10:48 am Sofia Papagiannaki

Merge branch 'tmp-pithos-tests' into feature-pithos-atomic-api

Conflicts:
snf-pithos-app/pithos/api/util.py

133e3fcf 07/03/2013 06:37 pm Sofia Papagiannaki

pithos: return always etag

Refs: #3554

If update md5 is deactivated Pithos does not return an etag header.
Pithos in that case should return the merkle hash as etag

369a7b41 07/02/2013 04:53 pm Sofia Papagiannaki

pithos: Change block size by configuration

This is useful for testing corner cases efficiently.

ff0beb64 07/02/2013 04:23 pm Sofia Papagiannaki

pithos: move transaction managment and quotaholder sync in frontend

Remove backend_method decorator and move logic in the pithos api method

Conflicts:
snf-pithos-app/pithos/api/util.py

ce264c16 06/28/2013 09:27 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.2' into develop

Conflicts:
snf-astakos-app/astakos/im/views/projects.py
snf-cyclades-app/synnefo/logic/backend.py
snf-django-lib/snf_django/lib/astakos.py
version

83a3723e 06/28/2013 12:28 pm Sofia Papagiannaki

pithos: fix empty account usage computation

Usage computation for empty accounts used to fail with:
TypeError: 'NoneType' object is unsubscriptable

7736e11a 06/28/2013 12:20 pm Sofia Papagiannaki

pithos: improve performance of get_domain_list

Before it used to query the database
for all the objects having the specific domain
and finally filtered out the objects to which the user had no access.
Now gets first the allowed_paths for the user and then...

9f135224 06/19/2013 04:24 pm Sofia Papagiannaki

pithos: move transaction managment and quotaholder sync in frontend

Remove backend_method decorator and move logic in the pithos api method

b90584d0 06/19/2013 04:19 pm Sofia Papagiannaki

pithos: introduce lock_container_path api_method argument

8a7ddfb0 06/19/2013 04:19 pm Sofia Papagiannaki

pithos: conditional select for update in lookup account

263d27d9 06/19/2013 04:13 pm Sofia Papagiannaki

pithos: enable api calls to lock explicitly the path

2e8edd42 06/17/2013 06:02 pm Sofia Papagiannaki

pithos: update pithos statistics computation

Compute account statistics instead of storing them in the database
Fix container statistics computation
Related commit: 3a9f1f113c1e2c853b7ae223fbcbb843d19f7f95

985b9b09 06/17/2013 06:02 pm Sofia Papagiannaki

pithos: enforce transaction isolation level

Refs: #3582 #3585

0f510652 06/17/2013 06:02 pm Sofia Papagiannaki

pithos: update recursively statistics up to the container level

To achieve atomicity we lock the container path.
However, the write operations update the statistics for the ancestor
nodes (container/account).
Therefore, the backend restricts the recursion up to the container...

f554bdb3 06/07/2013 01:36 pm Giorgos Korfiatis

pithos: Fix ASTAKOS_BASE_URL import in migration

7ee27246 06/04/2013 02:15 pm Georgios D. Tsoukalas

pithos-backend: disable AstakosClient if no URL given

If the backend is initialized with astakos_url=None,
or AstakosClient cannot be imported,
a fake AstakosClient is instantiated which will raise
an AssertionError on any attempt to access it.

Read-only uses of pithos backend, as in pithcat,...

02de6286 05/15/2013 06:18 pm Sofia Papagiannaki

pithos: change resource usage retrieval

Replace ``astakosclient.get_info()`` with ``astakosclient.get_quotas()``

89362181 05/13/2013 05:40 pm Sofia Papagiannaki

pithos: remove dependency from synnefo.lib.queue.Receipt

47b8d4b1 05/13/2013 12:15 pm Christos Stavrakakis

Merge branch 'feature-quotas' into develop

Conflicts:
docs/dev-guide.rst

91114c83 05/09/2013 04:04 pm Sofia Papagiannaki

Merge branch 'tmp-pithos-db-escape-warning' into develop

7a65e284 05/01/2013 03:43 pm Sofia Papagiannaki

pithos: Remove unnecessary logging in public url unset

860c5d9c 05/01/2013 03:28 pm Sofia Papagiannaki

pithos: Remove obsolete settings from database migrations

Use astakosclient to retrieve user information

71585c27 05/01/2013 12:00 pm Sofia Papagiannaki

pithos: Update merged code

ae6199c5 05/01/2013 12:00 pm Sofia Papagiannaki

pithos: Update pithos management commands

Refs: #3625

16f2673e 05/01/2013 12:00 pm Sofia Papagiannaki

pithos: Rename backend quotaholder properties

Refer to astakosclient instead of quotaholder

b17e5550 05/01/2013 12:00 pm Giorgos Korfiatis

WIP astakosclient for quotas in pithos

d1e7d2b4 05/01/2013 12:00 pm Sofia Papagiannaki

pithos: Utilize astakosclient for quota handling

Refs: #3625, #3650

9b264076 05/01/2013 11:58 am Sofia Papagiannaki

pithos:Ensure serial registration before commission

Commit transaction before accepting the commission
and delete registered serials after successful commission.

Refs: #3594

8570576b 05/01/2013 11:58 am Sofia Papagiannaki

pithos: extend sqlite library for commission reconciliation

Refs: #3594

235a4227 04/22/2013 01:31 pm Sofia Papagiannaki

pithos: use other db escape string literal character

Refs: #3645

595b2b0d 04/22/2013 10:10 am Sofia Papagiannaki

Add database migration

Provide an alembic migration to add an index
on the attributes.domain field

e77b7a99 04/22/2013 10:10 am Sofia Papagiannaki

pithos backend: update get_domain_objects method

Rename and change it to backend method
(add the backend_method decorator)

5576e6dd 04/22/2013 10:10 am Sofia Papagiannaki

Pithos backend: Return objects in a specific domain

Refs: #3510

cf53943b 04/18/2013 05:12 pm Sofia Papagiannaki

Fix trasactionless query in pithos sqlite backend init

Refs: #3580

26837206 04/18/2013 05:12 pm Georgios D. Tsoukalas

fix trasactionless query in pithos backend init

The query was submitted for execution without any prior transaction
setup, which caused:

1. psycopg2 to implicitly start a transaction
2. the new transaction to remain unknown to the sqlalchemy layer
since it was implicit...

fed9c5c7 04/17/2013 06:20 pm Sofia Papagiannaki

pithos: Fix container quota violation control

Pithos backend before performing the quota violation checks
creates a new version of object and updates the
usage of the ancestor nodes (the container).

In Postgresql SELECT does see the effects
of previous updates executed within its own transaction...

19ddd41b 04/17/2013 06:17 pm Sofia Papagiannaki

Change pithos default container policy quota to unlimited

Refs: #3543

  • Substitute the PITHOS_BACKEND_QUOTA setting with two
    distinct settings: PITHOS_BACKEND_ACCOUNT_QUOTA &
    PITHOS_BACKEND_CONTAINER_QUOTA
  • Set PITHOS_BACKEND_CONTAINER_QUOTA default value...
e1e37cf9 04/16/2013 11:59 am Sofia Papagiannaki

Fix pithos-reconcile-commissions command

Get pending commissions specifically for pithos

Refs: #3594

613659fc 04/15/2013 07:14 pm Sofia Papagiannaki

pithos: Register commission serials to allow for recoery

Refs: #3594

04a1b675 04/08/2013 06:17 pm Christos Stavrakakis

Move astakos lib from snf-common to snf-django-lib

1a736ca8 04/08/2013 04:27 pm Christos Stavrakakis

Use 'python-objpool' instead of 'synnefo.lib.pool'

Use the python-objpool package for pooling resources as object, instead
of the pooling code that existed in snf-common ('synnefo.lib.pool')

Refs #3524

c77af544 03/28/2013 10:57 pm Sofia Papagiannaki

Change pithos backend DEFAULT_PUBLIC_URL_SECURITY

Change value from 8 to 16, to conform with the default
PITHOS_PUBLIC_URL_SECURITY setting.

4a105ce2 03/28/2013 05:21 pm Sofia Papagiannaki

Change pithos public URL implementation

Refs: commit: 56f3c759

Do not include encoded serial in the public URL.

Change PITHOS_PUBLIC_URL_MIN_LENGTH setting to
PITHOS_PUBLIC_URL_SECURITY.

Log public set/unset functions.

56f3c759 03/27/2013 06:51 pm Sofia Papagiannaki

Change pithos public implementation

Public URLs should consist of a random part.
A public URL should be unique and should not be
equal to any deleted public URL.
Finally publishing a public object has no effect.
Therefore, to generate a new public URL for an...

78348987 03/19/2013 01:24 pm Sofia Papagiannaki

Eliminate mutable default arguments

0a92ff85 03/19/2013 11:22 am Sofia Papagiannaki

Fix pithos purging accounting

Refs: #3442
Refs: #1733

Pithos has two different version accounting
policies:
  • free: do not include object history version size
    to the total account usage
  • debit: include object history version size to
    the total account usage...
b336e6fa 03/11/2013 06:18 pm Georgios D. Tsoukalas

Fix+move HTTP quotaholder client in synnefo.lib

Allow per-service configuration of the (http) quotaholder client.
Kamaki is no longer needed in service (or ganeti) nodes,
because the client has been moved to snf-common.

Also fix the default quotaholder settings for pithos backend to be disabled...

2bbf1544 03/06/2013 05:44 pm Georgios D. Tsoukalas

Fix UUID bug breaking image list and VM creation

latest_uuid(uuid) returned the latest version with the given uuid.
This is called from pithos backend method get_uuid(),
which is called from plankton backend method get_image().

For the use in get_image() the uuid alone is not enough,...

97341ccb 03/05/2013 05:02 pm Georgios D. Tsoukalas

Fix serious inefficiency in pithos 0.13 migration

As was run on production during migration.

The migration looped over all rows (node, muser) from versions,
and update muser in each one.

However, the tuples (node, muser) are not unique in the table,
and more important, the muser values are much fewer than the nodes...

e95431e5 02/19/2013 12:01 pm Georgios D. Tsoukalas

set DJANGO_SETTINGS_MODULE for pithos-migrate

1f3f907f 02/19/2013 12:00 pm Sofia Papagiannaki

Explicitly enabled/disable pithos quotaholder component

Use PITHOS_USE_QUOTAHOLDER setting