Apex classes getting overwritten and not prompting users with Conflicts dialog box

Issue #1960 resolved
Destoni Baldwin created an issue

I’m working with a team of developers. We’ve noticed within the past few months that when we save classes that another developer has work in, IntelliJ does not prompt us with the usual Conflict dialog box that allows use to merge changes. We all have confirmed that we have the “Check for conflicts on deployment“ box checked for all sandbox connections. Please let us know what other settings need to be adjusted.

Steps to reproduce:

  1. Go to File → Settings → Illuminated Cloud → Connections → Verify that “Check for conflicts on deployment“ checkbox is checked.
  2. Developer 1 - deploys apex class.
  3. Developer 2 - deploys the same apex class a minute after.

Expected Results:
1. Developer 2 gets prompted with dialog box explaining code conflict and asks to merge changes

Current Results:

  1. No dialog box appears. Apex class gets overwritten with only Developer 2’s work.

Comments (9)

  1. Scott Wells repo owner

    Hi. Which type of conflict detection are you using, dedicated logins or shared logins? And does that properly match the actual relationship between IC2 users and logins? Assuming that it does, please enable debug logging on the machine(s) where this is happening, reproduce the issue, and provide the resulting idea.log* file(s) either here as an attachment or via email to support@illuminatedcloud.com for review. That will show how the conflict detection logic is processing the metadata requested for deployment and reconciling the timestamps.

  2. Destoni Baldwin reporter

    Hi Scott, we are using dedicated logins and we weren’t able to replicate it. The conflict dialog box seemed to appear when me and another developer both made changes to the same apex class. I’ll attach the logs here.

  3. Scott Wells repo owner

    Destoni, just to clarify, the attached logs do not include a reproduction of the issue because it didn't reproduce for you? Or did the problem occur for you as represented by this log?

  4. Destoni Baldwin reporter

    We weren’t able to reproduce the issue. When I tried with one of our developers, I was prompted with the dialog box asking if I want to merge changes. So it worked as expected. I just attached the logs to give more details. I’ll have to try to replicate it with another one of our developers that spotted the issue along side me and see if it happens again. I’ll keep you updated.

  5. Scott Wells repo owner

    Gotcha. If you want, please enable debug logging for metadata deployment on all involved machines. That way the next time this happens (if it does), you can grab logs from the two involved machines (the one that deployed the metadata first and the one that then deployed metadata to overwrite the first without the conflict being detected) and attach them here. That should give me sufficient information to debug what's happening.

  6. Scott Wells repo owner

    Issue tracker grooming. If this is still an issue, please feel free to reopen, ideally with a concrete reproduction scenario.

  7. Log in to comment