-
-
Notifications
You must be signed in to change notification settings - Fork 814
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
Dedupe fixes CRM-18442, CRM-18539, CRM-18480 #8251
Dedupe fixes CRM-18442, CRM-18539, CRM-18480 #8251
Conversation
3c1959c
to
668f6e4
Compare
test this please |
4132b33
to
b904ea0
Compare
fde8f27
to
c0deb05
Compare
test this please |
3c34db9
to
d99c28e
Compare
test this please |
Throwing an exception on trying to merge a deleted contact makes better sense. I was just recreating the logic here, which was silly of me: civicrm-core/CRM/Dedupe/Finder.php Line 182 in b6a6d15
|
Jenkins retest this please |
The tests have been pretty flakey today - but we can add the 'merge on pass' flag when you reach the point that you are happy with your QA & a passing test outcome is the remaining blocker |
Warning: Missing argument 3 for CRM_Dedupe_Merger::getMergeCacheKeyString(), called in C:\xampp\htdocs\civi\sites\all\modules\civicrm\CRM\Contact\Page\DedupeFind.php on line 148 and I'm running through the manual tests now. |
In fact this is being a bit hit and miss. I'm now hitting a huge number of e-notices, spotted in the drupal watchdog logs, about the AJAX dedupe finder page, and no duplicates are being detected: All similar to the above. This is caused by the CRM-18539 commit. I'm also running into an intermittent issue: But I've not been able to reliably recreate it against any particular commit yet =[ Grief. There's another issue at play here too regarding the prevNextCache not being updated and the duplicate finder not actually reflecting the most up to date information from peoples' records. |
I've tested commit 664d553 (CRM-18546 Duplicate email addresses created when merging in 4.7) in isolation and it appears to work OK.
So I think that commit, in isolation, is good. I wondered whether we should extend the test to check for duplicate phone numbers too - but I don't think it's necessary. |
Also identified https://issues.civicrm.org/jira/browse/CRM-18575 as part of QA on this. |
@JKingsnorth the commit you tried suucessfully isolated in this PR #8385 so if that is ok we can merge that PR. |
Yup. If that PR is the commit then go for it.
|
Can you add a comment to that commit to clarify it has been QAd? Then I'll take another look here - my best guess if the rebasing of 9e537ad is this issue. Ican split the patches out |
d99c28e
to
b7ffd67
Compare
b7ffd67
to
5834703
Compare
…deleted contacts Also, I changed the fatal to an exception - low level functions should throw exceptions, it's up to the form to catch & render those
…NION Unions are much faster than OR joins. This change took the length of the query to get the dedupes on a large database from 'as long as it took for the server to fall over' to less than one second on a small group of contacts This query is only affecting one path - ie Individuals - at the moment as I can only extend that as fast as I can write tests.
5834703
to
6a44953
Compare
6a44953
to
e23e26e
Compare
@JKingsnorth I think I tracked down the errant cacheKeyStrings that had not been updated. Regarding your list of regressions - I believe they are all 4.7 regressions but not specifically 4.7.8 regressions? I'd like to tackle them - but not without getting some testing into those ajax functions first, so I'd see getting some tests added as a blocker to starting fixing |
JIRA issue for adding tests: https://issues.civicrm.org/jira/browse/CRM-18581 |
@@ -163,7 +163,7 @@ public function testBatchMergeSelectedDuplicates() { | |||
|
|||
// Retrieve pairs from prev next cache table | |||
$select = array('pn.is_selected' => 'is_selected'); | |||
$cacheKeyString = "merge Individual_{$dao->id}_{$this->_groupId}"; | |||
$cacheKeyString = "merge Individual_{$dao->id}_{$this->_groupId}_0"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why doesn't this use getMergeCacheKeyString ? Because it's in a test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually I think it should - I was in test-debug mode at that time
Confirmed that all the manual tests pass. This PR also fixes CRM-18579. I just made a couple of comments on the code. Once those are addressed (and QA'd), or pushed back, we can merge. |
I think it might be better to merge & then try to get to those as improvements because of the timeframe. I might struggle to get much done tomorrow. What do you think? |
Merge away, I'll note the UI improvement in the meta issue. @deepak-srivastava If you get a chance to test this in the test week as well that would be great; I know you've done a lot of work around all this |
This PR contains fixes for several merge issues & includes the changes in #8385 (still open in case John prefers to QA a smaller PR) and #8352 ( which I'm closing in favour of this).
Includes