| Summary: | Various problems with FailoverExample | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Caspar D. <caspar_d> | ||||||||||
| Component: | cdo.core | Assignee: | Project Inbox <emf.cdo-inbox> | ||||||||||
| Status: | CLOSED WORKSFORME | QA Contact: | |||||||||||
| Severity: | normal | ||||||||||||
| Priority: | P3 | CC: | saulius.tvarijonas | ||||||||||
| Version: | 4.2 | ||||||||||||
| Target Milestone: | --- | ||||||||||||
| Hardware: | All | ||||||||||||
| OS: | All | ||||||||||||
| Whiteboard: | |||||||||||||
| Attachments: |
|
||||||||||||
Created attachment 180846 [details]
Stacktrace 1
Created attachment 180847 [details]
Stacktrace 2
Created attachment 180848 [details]
Stacktrace 3
Created attachment 180850 [details]
Stacktrace 4
Adding:
(4) Sometimes, during the first sync (triggered by Agent2's startup), Agent2
complains that "Generated packages locally not available". (see trace4.txt)
Caspar, I wonder if we've fixed this already. I didn't do anything that would fix it. I ran the example today, and I still see all kinds of exceptions flying (though it seems different ones from what I reported before). I also noticed that RecoveringCDOSessionConfigurationImpl doesn't have any default values for the config params that it abstracts, such as hearbeat period, connector timeout etc. I'll open another zilla for that. Moving all open bug reports to 4.1 because the release is very near and it's hghly unlikely that there will be spare time to address 4.0 problems. Please make sure that your patches can be applied against the master branch and that your problem is not already fixed there!!! Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master. I believe that most of the mentioned problems have been fixed recently through other bugs (namely the new offline example app). |
I was experimenting with the FailoverExample and noticed several problems occurring repeatedly (though not always). What I typically do is: start the Monitor, start Agent1, start Agent2, then start the Client. (Note that since recently the latter actually performs a commit, and so triggers a sync.) The problems all occur in Agent2, which is the BACKUP repo. (1) Sometimes, during the first sync (triggered by Agent2's startup), the thread of RepositorySynchronizer$ReplicateRunnable does not have an associated session in its StoreThreadLocal. (see trace1.txt) (2) Sometimes, during a later sync (triggered by Client's commit), the thread of RepositorySynchronizer$CommitRunnable does not have an associated session in its StoreThreadLocal. (see trace2.txt) (3) Sometimes, during a later sync, one (or more?) of the "revisions" contained in the commitInfo, is a CDOIIDAndVersionImpl, which cannot be cast to an InternalCDORevision. (see trace3.txt) Attaching stacktraces shortly.