The class ‘DeploymentRelatedMachine’ has a document map with JSON storage set to TextOnly, but the query does not include the ‘JSON’ column. Queries against this type must include the JSON in the select clause. If you just want a few columns, use Nevermores’ ‘plain class’ or tuple support.
System.InvalidOperationException
at Nevermore.Advanced.ReaderStrategies.Documents.DocumentReaderExpressionBuilder.AssertValidColumnOrdering()
at Nevermore.Advanced.ReaderStrategies.Documents.DocumentReaderExpressionBuilder.Build()
at Nevermore.Advanced.ReaderStrategies.Documents.DocumentReaderStrategy.Compile(DocumentMap map, IDataReader firstRow)
at Nevermore.Advanced.ReaderStrategies.Documents.DocumentReaderStrategy.<>c__DisplayClass5_0.b__0(String _)
at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory)
at Nevermore.Advanced.ReaderStrategies.Documents.DocumentReaderStrategy.<>c__DisplayClass4_11.<CreateReader>b__1(DbDataReader dbDataReader) at Nevermore.Advanced.ReadTransaction.ProcessReader[TRecord](DbDataReader reader, PreparedCommand command)+MoveNext() at Nevermore.Advanced.ReadTransaction.Stream[TRecord](PreparedCommand command)+MoveNext() at Octopus.Migrator.Core.ExportProcess.ExportController.WriteDocuments(String singularNoun, IEnumerable1 documents, ExportFileNameOption fileNameOption)+MoveNext() in ExportController.cs:line 815
at Octopus.Migrator.Core.ExportProcess.ExportController.Write(String singularNoun, IEnumerable1 documents, ExportFileNameOption fileNameOption) in ExportController.cs:line 576 at Octopus.Migrator.Core.ExportProcess.ExportController.Export() in ExportController.cs:line 103 at Octopus.Migrator.Cli.Commands.ExportCommand.Start() in ExportCommand.cs:line 89 at Octopus.Shared.Startup.AbstractCommand.Start(String[] commandLineArguments, ICommandRuntime commandRuntime, OptionSet commonOptions) at Octopus.Shared.Startup.OctopusProgram.Start(ICommandRuntime commandRuntime) at Octopus.Shared.Startup.ConsoleHost.Run(Action1 start, Action shutdown)
at Octopus.Shared.Startup.OctopusProgram.RunHost(ICommandHost host)
at Octopus.Shared.Startup.OctopusProgram.Run()
Just letting you know we have developed a fix for this issue - it will be available in the 2020.5.0 release of Octopus Server, which should be released for download on Octopus.com in roughly 2 months time.
That is a good question! I’ll try and elaborate on how we came to the decision on patching 2020.5.0:
Bugs in software vary in their impact. Some are annoying but can be worked around. Others can completely block you from achieving your goals with the software (With Octopus, this is usually not being able to deploy your software).
Octopus only has so many engineers, so we try to ensure we use their time as best as possible to fix blocking bugs - ensuring you can always achieve your goals with Octopus. If there is engineering time available after this is done, less impactful bugs will also be tackled, to ensure we are always improving our customer’s experience with our product.
This decision making also extends to what versions we patch. Patching a bug takes effort, and introduces risk - code changes in support branches should always be carefully considered. If a bug is not blocking, we will choose to patch an upcoming release of Octopus - in this case 2020.5. This means we do not spend onerous amounts of time applying patches across supported versions for less impactful bugs. It also gives the change time to go through a rigorous amount of testing and use in our cloud platform before it is released on Octopus.com for download.
We chose to patch the migrator in 2020.5 as the changes involved to fix the issue involve an amount of risk, and we did not percieve it to be a blocking bug for our customers based on the reports that we recieved.
With the amount of ongoing customer interest regarding this particular fix, we have decided to back-port it to the 2020.4.0 release of Octopus, which will be available for download on Octopus.com in around 2 weeks.