This commit is contained in:
2022-08-20 00:17:53 +00:00
parent d560e4ef5a
commit 7a7971b81d
2 changed files with 3 additions and 71 deletions

View File

@@ -15,77 +15,9 @@ THINGS HOLDING UP PERPETUAL RELEASE
- Announcement email with migration plan and costs and offers etc
TODO: NEXT: Finish rockfish license readiness project, post it live, test with *OLD* AyaNova 8.0.3 build to ensure it won't bomb on an eval request for older versions of AyaNova 8 out there, ONLY AFTER this..
then update the devops ayanova to the NEXT folder build, test all the license things, test a migration etc then move on to whatever is next
todo: bugbug?? Attempted migration to very full v8 server and erasing data took forever then bombed a bit later
Key bit here I think: System.TimeoutException: Timeout during reading attempt
Might need to bump up default timeout to work around this, test locally find the value that works
TO TRY: erase huge db locally see where it times out (keep timeout low)
to try: manually run the erase statements one at a time, try to find the slowest one and figure out if there is any improvement to be made
INFO: 300 second command timeout worked and it was able to erase the HUGE database, maybe the easy thing to do is just make the default command timeout 300 seconds and say fuck it for now
2022-08-19 14:54:39.8201|INFO|AyaNova.Api.Controllers.LicenseController|Erasing Database "AyaNova"
2022-08-19 14:55:43.5885|ERROR|SERVER|Error=>Npgsql.NpgsqlException (0x80004005): Exception while reading from stream
---> System.TimeoutException: Timeout during reading attempt
at Npgsql.Internal.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|211_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
at AyaNova.Util.DbUtil.EraseTableAsync(String sTable, NpgsqlConnection conn, Boolean tableHasNoSequence) in C:\data\code\raven\server\AyaNova\util\DbUtil.cs:line 641
at AyaNova.Util.DbUtil.EmptyBizDataFromDatabaseForSeedingOrImportingAsync(ILogger _log, Guid jobIdToKeep, Boolean isMigrate) in C:\data\code\raven\server\AyaNova\util\DbUtil.cs:line 617
at AyaNova.Api.Controllers.LicenseController.RemoveAllData(String acceptCode) in C:\data\code\raven\server\AyaNova\Controllers\LicenseController.cs:line 268
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2022-08-19 14:55:46.8007|INFO|AyaNova.Api.Controllers.LicenseController|Erasing Database "AyaNova"
2022-08-19 14:56:19.8470|ERROR|SERVER|Error=>Npgsql.NpgsqlException (0x80004005): Exception while reading from stream
---> System.TimeoutException: Timeout during reading attempt
at Npgsql.Internal.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|211_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
at AyaNova.Util.DbUtil.EraseTableAsync(String sTable, NpgsqlConnection conn, Boolean tableHasNoSequence) in C:\data\code\raven\server\AyaNova\util\DbUtil.cs:line 641
at AyaNova.Util.DbUtil.EmptyBizDataFromDatabaseForSeedingOrImportingAsync(ILogger _log, Guid jobIdToKeep, Boolean isMigrate) in C:\data\code\raven\server\AyaNova\util\DbUtil.cs:line 617
at AyaNova.Api.Controllers.LicenseController.RemoveAllData(String acceptCode) in C:\data\code\raven\server\AyaNova\Controllers\LicenseController.cs:line 268
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2022-08-19 14:56:22.9612|INFO|AyaNova.Api.Controllers.LicenseController|Erasing Database "AyaNova"
2022-08-19 14:56:56.0076|ERROR|SERVER|Error=>Npgsql.NpgsqlException (0x80004005): Exception while reading from stream
---> System.TimeoutException: Timeout during reading attempt
at Npgsql.Internal.NpgsqlConnector.<ReadMessage>g__ReadMessageLong|211_0(NpgsqlConnector connector, Boolean async, DataRowLoadingMode dataRowLoadingMode, Boolean readingNotifications, Boolean isReadingPrependedMessage)
at Npgsql.NpgsqlDataReader.NextResult(Boolean async, Boolean isConsuming, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior behavior, Boolean async, CancellationToken cancellationToken)
at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
at AyaNova.Util.DbUtil.EraseTableAsync(String sTable, NpgsqlConnection conn, Boolean tableHasNoSequence) in C:\data\code\raven\server\AyaNova\util\DbUtil.cs:line 641
at AyaNova.Util.DbUtil.EmptyBizDataFromDatabaseForSeedingOrImportingAsync(ILogger _log, Guid jobIdToKeep, Boolean isMigrate) in C:\data\code\raven\server\AyaNova\util\DbUtil.cs:line 617
at AyaNova.Api.Controllers.LicenseController.RemoveAllData(String acceptCode) in C:\data\code\raven\server\AyaNova\Controllers\LicenseController.cs:line 268
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2022-08-19 14:58:20.2523|INFO|AyaNova.Api.Controllers.AuthController|User "AyaNova SuperUser" logged in from "::ffff:127.0.0.1" ok
todo: weird one, if the migration erase fails, I can login as superuser go to ops server state, it says it's Open but reason says "erasing database" and I can't run migration service unavailable as the server is stuck in erase mode or something
maybe it's still erasing? Weird
todo: erase can take forever, it should be a job maybe instead, I know it's rare to run it but it's going to be trouble down the road.
generate HUGE tracts o data and then jobify the delete job.
Unless this is all to do with a bug erasing so check that first
todo: fake sale of v8 to get license emails to update rockfish to auto read in the deets
FAKE CREDIT CARD

View File

@@ -1,4 +1,4 @@
#define DEVELOPMENT_TEST_ROCKFISH
//#define DEVELOPMENT_TEST_ROCKFISH
using System;
using System.Text;
using System.Threading.Tasks;