question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Maestro can sometimes identify the wrong assets when doing updates

See original GitHub issue

I think this problem affects coherency scenarios only. Basically what happens is this:

  • internal/release/* branch and release/* branch have the exact same shas
  • Both builds are stabilized
  • Internal build finishes second

When the update goes through and does coherency updates, it needs to build a graph. This graph needs to find the assets that contribute. The primary identifiers are: name+version+sha. In cases of conflict (multiple assets match), the latest asset is chosen.

In this case, the latest happens to be the internal/ branch build, which won’t have been published to a public location. This means that a couple things could happen:

  • Non-stable dependencies that are coherency tied to the stable version asset that could pick the wrong version. E.g.
<Dependency Name="Microsoft.NETCore.App.Internal" Version="3.0.3-servicing-20064-01"  CoherentParentDependency="Microsoft.NETCore.App.Runtime.win-x64"> <- If Microsoft.NETCore.App.Runtime.win-x64 is identified as the internal build version, this dependency will be updated to an internal build version

If the internal build was published to another location or not published at all, we could end with a nuget.config with wrong (pointing to internal) or missing feeds.

There aren’t great solutions to this. Except:

  • Don’t generate stable assets. This would outright solve this.
  • Default channel publishing could be based on what branches a sha applies to, not what branch was built.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

4reactions
mmitchecommented, Jun 23, 2020

Leave it for now. I think we’re going to go for option 1.

1reaction
mmitchecommented, Jan 16, 2020

You can. I’m hoping to make a strong case for it.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Avid Maestro | News ReadMe v2021.8.4
Maestro | News Controller failed to update the database to the latest version upon the first startup. This issue has now been fixed....
Read more >
Avid Maestro | News ReadMe v2022.3.6
Using the newest Maestro | News 2022.3 and the newest. CloudUX 2022.12 allowed to browse assets, but there was an error when trying...
Read more >
Maestro 10.2 - User Manual - Hom
problems were identified are assigned an atom property (i_m_pdb_convert_problem) that records the type of error. This property can be used to color the ......
Read more >
Recipients Selected On Demand By API Calls
Determine the base URL: You will have to configure your shop system to access a special URL in response to the event of...
Read more >
Installing and Updating Firmware
The instructions below are for updating the firmware on Duet 3 (all boards, in standalone mode), Duet 2 WiFi, Ethernet and Maestro boards...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found