Bug 1070744
| Summary: | Can't access local contact book after Evolution downgrade from 3.10 to 3.8 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Martin <mholec> | ||||
| Component: | evolution | Assignee: | Matthew Barnes <mbarnes> | ||||
| Status: | CLOSED WONTFIX | QA Contact: | Desktop QE <desktop-qa-list> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 7.0 | CC: | fidencio, jkoten, mbarnes, mcrha, pasteur, tpelka, vbenes, vrutkovs | ||||
| Target Milestone: | pre-dev-freeze | Keywords: | Reopened | ||||
| Target Release: | 7.1 | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2015-05-19 08:44:29 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
This has to be fixed in 7.0, because developers will probably rebase Evolution to 3.10 in 7.1. (In reply to Martin Holec from comment #0) > This can cause trouble to users when they upgrade to 7.1 How does downgrade from evolution 3.10 can cause problems to 7.1 users? devel_nack - We don't support downgrading. Development Management has reviewed and declined this request. You may appeal this decision by reopening this request. (In reply to Matthew Barnes from comment #3) > devel_nack - We don't support downgrading. Downgrading was actually Milan's idea during Evolution Test Day. I still see following issue: What if user use NFS shared /home with 7.0 and 7.1 workstations (see Multiple Login feature). Milan, could you describe your proposed fix here or in upstream bugzilla? Right, we do not support downgrading, but what I was thinking about was to investigate whether the older addressbook cache would be able to work with the newer, instead of giving up due to a notice of an unknown column in one of its tables. I had a chat with the author of this change, and it turned out we are out of luck, because: a) there wasn't only added new columns to the tables, some values are stored in a fundamentally different way, unavailable to the old version b) it's impossible to jump from newer version to the older and back, when accessing the same NFS home at one time, because contacts added/modified in one version would have missing summary information for the another version, which would cause incorrect results during searching Well, the 'impossible' at b) is not accurate. There are some "options": 1) redirect evolution-related data into different XDG directories, thus they will not be shared at all, but will still be stored on the same NFS server 2) change summary versions each time the package is downgraded, but it's quite hard to do, because each backend can have implemented its own cache format, and the cache can be stored basically anywhere on the disk and, the most importantly, this doesn't cover on-the-fly version changes (like mounting the home from two versions of the system without involving rpm) 3) if the summary notices "too high" version, then it will downgrade it on its own, which means rebuilding it from scratch, with use of the vCard-s stored in the DB - it has also couple cons, like the rebuild would be done always after the switch, while a move from older to newer is done already within the migrate process, automatically. This migrate/downgrade can be time consuming, depending on actual cache size 4) have only one server with running evolution-data-server processes, and connect to it remotely, while supporting older (D-Bus) APIs by the clients, but I do not think it's practical to do too. The most feasible way from my point of view is to use 1), not only because it doesn't require any changes on the evolution-related code, but because I expect that many other applications may suffer of the same downgrade issue. And also incorporate the 3), which will work fine for address books, if not switching between versions too often, for a price of slower open the first time the migration/downgrade is done. Of course, first do this upstream. Matthew, what do you think? If there is a need to run two different evolution instances on the same /home, then the XDS spec is the way to go, thus effectively do not share actual data, which means both evolutions should be configured separately. This problem is deeper than just with evolution. |
Created attachment 868538 [details] screenshot Description of problem: Version-Release number of selected component (if applicable): evolution-3.8.5-19.el7.x86_64 How reproducible: always Steps to Reproduce: 0. Downgrade from evolution-3.10.x (have newer ~/.local/share/evolution/addressbook/system) 1. Run evolution-3.8 2. Switch to Contacts tab. Actual results: I can't access local contact book. GUI: Unable to open address book This address book cannot be opened. Please check that the path /home/mholec/.local/share/evolution/addressbook/system-address-book exists and that permissions are set to access it. Detailed error message: Unable to connect to 'Personal': Error introspecting unknown summary field 'file_as_localized' see screenshot Console: ** (evolution:7253): WARNING **: bbdb: Failed to get addressbook: Unable to connect to 'Personal': Error introspecting unknown summary field 'file_as_localized' bbdb: Done syncing buddy list to contacts. Expected results: No error in GUI nor console. Access to contacts. Additional info: This can cause trouble to users when they upgrade to 7.1 and will want to downgrade Evolution for some reason, e.g. bug in newer version. Or if they use shared /home with 7.0 and 7.1 workstations (see Multiple Login feature).