Skip to content
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

Next Compatible Release #1768

Closed
7 tasks done
ron-murhammer opened this issue May 30, 2017 · 83 comments
Closed
7 tasks done

Next Compatible Release #1768

ron-murhammer opened this issue May 30, 2017 · 83 comments
Labels
Discussion team communication thread, meant for coordination and decision making
Milestone

Comments

@ron-murhammer
Copy link
Member

ron-murhammer commented May 30, 2017

So we have a few threads floating around on the next release and incompatibilities (#1735, #1715, etc). So I wanted to get a more concise list of issues we want to complete before releasing with the idea of the following release we could then break compatibility.

Remaining Features For Release:

@ron-murhammer ron-murhammer added the Discussion team communication thread, meant for coordination and decision making label May 30, 2017
@simon33-2
Copy link
Contributor

Doesn't it have to be 1.9.0.x? Changing that breaks the old jar interface further so shouldn't be done IMO.

@RoiEXLab
Copy link
Member

@ron-murhammer Are we changing the versioning system before releasing a new stable release?
If we do, we should probably update the code to be able to "recognize" any newer versions before releasing a new compatible stable.
Other than that I don't have anything to add...

BTW. Removing unused branches on the repo is probably a good idea:
Branches

@ron-murhammer ron-murhammer changed the title Next Stable Release 1.9.1 (Compatible) Next Stable Release 1.9.0.1 (Compatible) Jun 6, 2017
@DanVanAtta
Copy link
Member

Hmm, I'm afraid I may be starting to be a bit confused.

One note, the next release we mark as stable, must be 1.9.0.0. Recall that the current version most people are on is bugged if we do a version upgrade. With that said, I am interested in marking the latest release as stable ASAP, so we can get back into the habit of doing that after every few changes.

Following through from that, once we're ready for the non-backwards compat release, I thought we would then jump to a our new 3 number release numbering system (notably so we don't keep bringing up and redoing release numbering so many times)

@ron-murhammer / others: kindly confirm if that is the plan

@ron-murhammer
Copy link
Member Author

@DanVanAtta Not following you on why its bugged? The idea is to just increment the last non-build number so we can drive most folks to upgrade as we haven't pushed the changes out for a while otherwise they never upgrade.

@DanVanAtta
Copy link
Member

@ron-murhammer is the plan to set the next number to 1.9.0.1 when we are ready for non-backwards compat, and then work on the 2.0.build migration, and then release directly as 2.0.build? (which means 1.9.0.1 would never be officially released)

@ron-murhammer
Copy link
Member Author

ron-murhammer commented Jun 6, 2017

@DanVanAtta No. My thought was to release 1.9.0.1 as the last backwards compatible release before we start working on non-backwards compatible changes and revising the versioning.

So releases would go like this:
1.9.0.0 - current
1.9.0.1 - next compatible (soon)
2.0 - not compatible with new versioning

@DanVanAtta
Copy link
Member

DanVanAtta commented Jun 6, 2017

re: bugged

The latest release is all way back in january (https://github.com/triplea-game/triplea/releases/tag/1.9.0.0.3635).
Recall when we tried to bump version, we had game clients lock up: #1493
The fix for that was pushed in: #1558, which unless I have my dates crossed, is not part of the current stable.

@ron-murhammer
Copy link
Member Author

I thought the bug was resolved based on the issue being closed and the PR merged?

@DanVanAtta
Copy link
Member

DanVanAtta commented Jun 6, 2017

I see, in one sense there were two issues:

Hence the gap and different views.. 😿 Happy to draw lessons - but, we do need to move forward..

@DanVanAtta
Copy link
Member

I suggest as a plan (100% open to discussion):

  • regression test the latest master, mark it as stable
  • figure out how to determine how many people would be impacted by a version upgrade. Start coming up with a plan to minimize that somehow. Meanwhile we'll get back into our 'normal' release mode and push out additional compatible releases as we can
  • finalize list of things to get out before a last compatible release, and get them all out
  • bump version number, merge some non-compatible stuff - start full-blown work on non-compatible release stuff
  • time goes by, 6~12 weeks
  • finalize on the user impact mitigation
  • release next non-compatible version

@ron-murhammer ron-murhammer changed the title Next Stable Release 1.9.0.1 (Compatible) Next Compatible Release 1.9.0.1 Jun 6, 2017
@ron-murhammer
Copy link
Member Author

@DanVanAtta Yeah, that works. I was primarily using this issue to track point 3.

@simon33-2
Copy link
Contributor

We can update the version number so long as we don't change the latest_version file.

Not following why we would do something different?

@simon33-2
Copy link
Contributor

BTW, We've already had a master called 1.9.0.1 so I think it should go to 1.9.0.2, or 1.9.0.build.

@simon33-2
Copy link
Contributor

simon33-2 commented Jun 10, 2017

Getting set of console errors with the latest build, 4684.

It seems that the issue is related to the first line of the xml on a lot of maps. "<?xml version=1.0 ?>" works but "<?xml version=1.0?>" doesn't. The difference being the space before the second question mark. Should this be solved with a bulk update or an engine change? I would say it needs to be fixed before marking the current release stable.

triplea.engine.version.bin:1.9
Could not parse:file:/home/simon/mapsrc/domination_1914_blood_and_steel/map/games/Domination_1914_Blood_And_Steel.xml error at line:1 column:1org.xml.sax.SAXParseException; systemId: jar:file:/home/simon/TripleA_1.9.0.0.4684/bin/triplea.jar!/games/strategy/engine/xml/; lineNumber: 1; columnNumber: 1; Premature end of file.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:150)
at games.strategy.engine.data.GameParser.getDocument(GameParser.java:272)
at games.strategy.engine.data.GameParser.parse(GameParser.java:81)
at games.strategy.engine.framework.ui.NewGameChooserEntry.(NewGameChooserEntry.java:56)
at games.strategy.engine.framework.ui.NewGameChooserModel.createEntry(NewGameChooserModel.java:195)
at games.strategy.engine.framework.ui.NewGameChooserModel.addNewGameChooserEntry(NewGameChooserModel.java:167)
at games.strategy.engine.framework.ui.NewGameChooserModel.populateFromDirectory(NewGameChooserModel.java:213)
at games.strategy.engine.framework.ui.NewGameChooserModel.parseMapFiles(NewGameChooserModel.java:76)
at games.strategy.engine.framework.ui.NewGameChooserModel.(NewGameChooserModel.java:43)
at games.strategy.engine.framework.ui.NewGameChooser.getNewGameChooserModel(NewGameChooser.java:198)
at games.strategy.engine.framework.startup.mc.GameSelectorModel.selectByName(GameSelectorModel.java:326)
at games.strategy.engine.framework.startup.mc.GameSelectorModel.loadDefaultGame(GameSelectorModel.java:312)
at games.strategy.engine.framework.startup.mc.GameSelectorModel.lambda$loadDefaultGame$100(GameSelectorModel.java:265)
at java.lang.Thread.run(Thread.java:748)

@ssoloff
Copy link
Member

ssoloff commented Jun 10, 2017

@simon33-2 It looks like the latest game XML for that map is empty:

ssoloff@localhost ~/triplea/downloadedMaps/domination_1914_blood_and_steel-master/map/games 
$ ll
total 0
-rw-rw-r--. 1 ssoloff ssoloff 0 Jun  9 05:22 Domination_1914_Blood_And_Steel.xml

Repo says the same thing: 0 bytes.

@simon33-2
Copy link
Contributor

Doh! Looks like the bulk update stuffed up. I'll fix it.

@simon33-2
Copy link
Contributor

One minor issue - the right panel on "Start Local Game" sometimes doesn't refresh properly when leaving a game and loading it. I think it's to do with the %income change. Not sure exactly how to reproduce it.

@simon33-2
Copy link
Contributor

I believe #2080 resolves point #5 of the OP.

@simon33-2
Copy link
Contributor

Fair dinkum guys. There's been a number of improvements since build 3635 more than six months ago but we are still waiting for them to be included in the generally available release. What exactly are we waiting for? Derby Migration? If this is the problem, can I suggest we drop that change from the feature list?

@DanVanAtta
Copy link
Member

What exactly are we waiting for?

Bug fixes and testing. All the features we were trying to get in are there.

@ron-murhammer
Copy link
Member Author

ron-murhammer commented Aug 15, 2017

@DanVanAtta @ssoloff @RoiEXLab I believe with merging #2209 that addresses all known regressions outside of the lobby admin database issues which already exist now #2204. IMO, we should be able to release soon unless other bugs are reported. Thoughts on timeline?

Also, for now should we restore setting the L&F to Substance Graphite? Otherwise I have a feeling we will get lots of negative feedback.

@DanVanAtta
Copy link
Member

Thoughts on timeline?

We're now testing 6157: https://docs.google.com/spreadsheets/d/1CSZ4s7wBLcvgue_IHwl-CbjQd95qj8hhR8m89ngCzbU/edit?usp=sharing

IMO a few days for that, this weekend to late next week I would expect for us to mark something as a release. Then a few days after that I would recommend to update the lobby message.

Also, for now should we restore setting the L&F to Substance Graphite? Otherwise I have a feeling we will get lots of negative feedback.

That's a good suggestion

@simon33-2
Copy link
Contributor

I'm disappointed that the review of #1646 has been ticked off without merging #2080. It's a nice usability improvement for my money.

BTW, what's the version number going to be? 1.9.0.build (which I would endorse)?

@simon33-2
Copy link
Contributor

I agree with the suggestion to restore the default look and feel to Graphite. Looks much nicer to me.

@panther2
Copy link
Contributor

panther2 commented Oct 8, 2017

Yes, @prastle and me tested that some minutes ago and @prastle found out that this might be due to the removed digit from the version number.
Using 1.9.0.0.6991 works fine.

@prastle
Copy link
Contributor

prastle commented Oct 8, 2017

True but then all old games dont work. Also no one using old can join new and vice versa we just tested.

I believe @simon33-2 said this here as well. #1768

@RoiEXLab
Copy link
Member

RoiEXLab commented Oct 8, 2017

It is caused by this, modifying the game_engine.properties files and adding an extra digit should temporarily workaround this issue.

@prastle
Copy link
Contributor

prastle commented Oct 8, 2017

Well my concern is that it is stable on the website now. It needs to be fixed fast. @ssoloff @ron-murhammer

@RoiEXLab
Copy link
Member

RoiEXLab commented Oct 8, 2017

I changed the release back to pre-release state until we adressed this issue.
While we could fix this issue by simply updating all the bots to the new stable version, we will run into the exact same issue again once we have a new build, so holding for now, I might be able to open a PR later this day which fixes this issue

@prastle
Copy link
Contributor

prastle commented Oct 8, 2017

ty

@RoiEXLab
Copy link
Member

RoiEXLab commented Oct 8, 2017

#2470 has a fix

@ssoloff ssoloff mentioned this issue Oct 8, 2017
@DanVanAtta
Copy link
Member

Please use the testing group to answer "when can I release": https://docs.google.com/spreadsheets/d/1CSZ4s7wBLcvgue_IHwl-CbjQd95qj8hhR8m89ngCzbU/edit#gid=800027447

If you see 2 or 3 sign-offs next to a version number then it is okay to mark that version as the latest github release. Testers will pick up versions as fast as they can. We use the test sheet to be able to converge on specific versions and give the multiple Okays.


Latest version bug: yes, this is present in the current version which everyone has. That should not be updated for at least a few weeks/months from now so we don't crash clients en-masse. Here is the updated plan:

  • wait for okay on testing
  • mark that version as latest in github releases
  • begin 'soft release' time period. Do not advertise the new release yet during this time. We only want a few number of users to be using the very latest and give us a chance as well to find anything else. This is to simply reduce risk and the reduce the 'blast radius' if there are any problems. The soft release window should be at least 7 days.
  • Once soft release is closed, update lobby messaging that latest version has bug fixes
  • After a week, take the lobby messaging down
  • When we are ready to release the next incompatible, then we will open a forum thread to note anyone still on the old version will crash when we update the latest_versions file. We can give a cut-off date for that in the forum thread and message that in the lobby as well. I think we may be working on this next incompatible for anywhere from 3 to 9 months. That will give everyone a good bit of time to jump off of the latest version: 3635.

Bots + Lobby deployments, if they are compatible with 3635, they can happen at any time assuming reasonably low impact. Bots are easier, since more frequently idled, but lobby should be updated for code reasons only if there is a good reason. DB updates should be transparent, but please run by/through me first. Once we have our DB code in source control, then you'll no longer need me to run prod DB updates.

@simon33-2
Copy link
Contributor

Should we retire the check on latest_version if we can easily just check the github API before marking this as stable? Or is that not easy to achieve?

@DanVanAtta
Copy link
Member

QA group could not break: https://github.com/triplea-game/triplea/releases/tag/1.9.0.0.7062; it has been marked as latest 🎊

Please do not "advertise" we are on a new latest until 10/19. After then we'll update lobby message and create a forum post notifying people that a new latest has been released. In the meantime we need to get to work on the release notes: https://github.com/triplea-game/triplea-game.github.io/blob/master/release_notes.md


Re: Should we retire the check on latest_version

It's an interesting idea using github API. If we had enough testing to replace everything the testing group does, then I would say yes to this. A trade off is that if the messaging is fully automated, buggy releases become more costly to downgrade since way more people would have already upgraded.

Which I do think raises another topic/issue, can we replace the lobby_properties check with something less brittle?

@simon33-2
Copy link
Contributor

simon33-2 commented Oct 15, 2017

Shouldn't #2483 be merged first? Otherwise the version needs to remain at 1.9.0.0 for a long time. That's why I put on the cranky pants that a conflicting change was proposed and merged.

@simon33-2
Copy link
Contributor

Interesting point about the latest_version check. I guess that is a fair argument for the status quo.

@ssoloff
Copy link
Member

ssoloff commented Oct 15, 2017

I created triplea-game/triplea-game.github.io#253 as a starting point for the 7062 release notes.

@simon33-2
Copy link
Contributor

Shouldn't the latest stable include #2483?

The path forward IMO should be:

  • upgrade stable to include all changes on master
  • mark as stable
  • merge no other changes to master
  • convert version number to 1.9.0.build on master
  • upgrade bots to stable
  • mark new master as stable
  • restart merging

Then at least Triple-A will know what version it is and you'll be able to see it in Help|About.

I suppose an alternative would be to create a branch based on build 7062 and merge #2483 onto it. Seems like too much work though.

@prastle
Copy link
Contributor

prastle commented Oct 21, 2017

@simon33-2 During the weekend a new stable release etc is a bad idea (jmho).
(75 players in the lobby atm all bots full and I added some myself.)
We can shut down a bot server and test during the week with a test lobby or separate bots? Atm I have had np with 7062. Up to you guys about future.

@simon33-2
Copy link
Contributor

build 7062 hasn't been deployed to the bots has it?

@prastle
Copy link
Contributor

prastle commented Oct 21, 2017

Correct but I would like to announce happily that 2 have been running for three hours (my own bots) So i tentatively think we are good to go. With 7062

@prastle
Copy link
Contributor

prastle commented Oct 21, 2017

What we really need is a server loaded
with new stable bots
jmho
@simon33-2

@simon33-2
Copy link
Contributor

7062 is missing a fix though.

@prastle
Copy link
Contributor

prastle commented Oct 21, 2017

Then load a new server with the bots ya want to test :)
Cash is there 5 bucks for a test server
:)
For a month
Or just reload a server during the week
since we dont need 20 bots during the week.

@simon33-2
Copy link
Contributor

I already did put up a server a while back.

Seems a bit pointless to redo unless there's agreement about the path forward.

@prastle
Copy link
Contributor

prastle commented Oct 21, 2017

The problem is not the bots. The problem is without a forced update we will never find all the glitches between an old map and a new; an old version and a new engine version. Thus having one bot server running new is probably a good idea (Renamed new stable bot engine). Just My thoughts. You guys are the devs I am just a lobby guy. Great work at all btw!

@simon33-2
Copy link
Contributor

Shouldn't we bump along this now? If we aren't happy with build 7062 then why is the version which is available to be downloaded.

@ron-murhammer
Copy link
Member Author

@simon33-2 We should try to run through basic testing and look to update the download soon.

@simon33-2
Copy link
Contributor

Ok, so it looks like build 7378 is the new stable. Will that be deployed to the bots?

What's the plan to go forward, stick with only compatible changes or is there a plan for an incompatible release?

@ron-murhammer
Copy link
Member Author

@simon33-2 Once we determine 7378 is the new stable that we want everyone to move then then we'll announce it on the lobby and look to upgrade the bots. After that I would like to consider doing a incompatible release so we have a bit more freedom to make some changes.

@RoiEXLab
Copy link
Member

Closing this issue, as the current version seems to be pretty stable, although perhaps we should push the release one release further because of the bot issue we encountered and is fixed in 1.9.0.0.7534

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion team communication thread, meant for coordination and decision making
Projects
None yet
Development

No branches or pull requests

7 participants