Skip to content

Shelve sync issues while using Gevent #79805

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
OdedEngel mannequin opened this issue Dec 31, 2018 · 4 comments
Open

Shelve sync issues while using Gevent #79805

OdedEngel mannequin opened this issue Dec 31, 2018 · 4 comments
Labels
docs Documentation in the Doc dir

Comments

@OdedEngel
Copy link
Mannequin

OdedEngel mannequin commented Dec 31, 2018

BPO 35624
Nosy @rhettinger, @terryjreedy, @vstinner, @remilapeyre

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = None
created_at = <Date 2018-12-31.08:12:16.504>
labels = ['3.8', 'type-bug', 'library']
title = 'Shelve sync issues while using Gevent'
updated_at = <Date 2019-01-07.15:16:09.720>
user = 'https://bugs.python.org/OdedEngel'

bugs.python.org fields:

activity = <Date 2019-01-07.15:16:09.720>
actor = 'vstinner'
assignee = 'none'
closed = False
closed_date = None
closer = None
components = ['Library (Lib)']
creation = <Date 2018-12-31.08:12:16.504>
creator = 'Oded Engel'
dependencies = []
files = []
hgrepos = []
issue_num = 35624
keywords = []
message_count = 4.0
messages = ['332807', '332809', '332994', '333038']
nosy_count = 5.0
nosy_names = ['rhettinger', 'terry.reedy', 'vstinner', 'remi.lapeyre', 'Oded Engel']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue35624'
versions = ['Python 3.8']

Linked PRs

@OdedEngel
Copy link
Mannequin Author

OdedEngel mannequin commented Dec 31, 2018

Shelve method, sync, does not work when using gevent threading.
writeback was set to True, flag was set to 'c'.
only way to get the dbb synced is by closing and reopening the db.

@OdedEngel OdedEngel mannequin added stdlib Python modules in the Lib dir type-bug An unexpected behavior, bug, or error labels Dec 31, 2018
@remilapeyre
Copy link
Mannequin

remilapeyre mannequin commented Dec 31, 2018

Hi, thanks for opening a bug report. Can you provide a script that reproduce the issue?

@terryjreedy
Copy link
Member

3.6 only gets security fixes. Please verify that there is a problem in 3.8 (or at least 3.7)

Also demonstrate that issue is not with the 3rd party gevent module. Does gevent includes compiled non-python code? (I suspect it does, but don't know.) If so, your script should *not* import that extension. Or you should close this as '3rd party' and submit a report to the gevent authors, who should be better able to determine where the problem originates.

@terryjreedy terryjreedy added the 3.8 (EOL) end of life label Jan 4, 2019
@rhettinger
Copy link
Contributor

The docs already note a restriction: "the shelve module does not support concurrent read/write access to shelved objects". We should further document that sync() is not thread-safe. When sync() is running, the *writeback* attribute is set to False and other threads will stop updating the cache.

@ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
@serhiy-storchaka serhiy-storchaka added the pending The issue will be closed if no feedback is provided label Jan 25, 2024
@picnixz picnixz added docs Documentation in the Doc dir and removed type-bug An unexpected behavior, bug, or error stdlib Python modules in the Lib dir 3.8 (EOL) end of life pending The issue will be closed if no feedback is provided labels Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation in the Doc dir
Projects
Status: Todo
Development

No branches or pull requests

4 participants