diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 5ae58780..f5ece5c1 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -345,55 +345,17 @@ todo: many biz objects are not using new PUT methodology CURRENTLY DOING: testing, clean up and refinements RELEASE TESTING -Very slow to load a workorder off devops, tied to the amount of data on it, less data loads faster, a empty workorder loads almost instantly. - Profiler shows it's at the server, not the transmission or client end - INFO: - It's taking 5 seconds to fetch a 3 item workorder off devops - 4.6 seconds of that is processing tmie at the server according to profiler - TRY: - https://news.ycombinator.com/item?id=8010101 - Fetch a bunch of times then look at server metrics both internal and digitalocean and see if any limitations noticed - Look into performance boosting docker postgres, maybe there is something to be done there, is it starved for resources? Slower than bare metal? - Test bare metal if nothing turns up with docker perf? - KEEP IN MIND: - It's a very cheap droplet, if this is the worst case for saving a lot of money then people may just be fuck it I'll live with it, but we would need to know how it fares with multiple users - need automated test to confirm this stuff and be able to fire off lots of traffic at it - technically don't even need a UI for this kind of testing, just keep requesting various workorders as it's not an UI issue anyway. - -=-=-=- -Keeps refetching nonexistant key "WorkOrderItemTravelPrice" -If look at network traffic can easily see non-existant keys because second opening should not have to fetch anything, sb pre-cached -=-=-=- -=-=-=-=-=- -ERROR attempting to delete a workorder item that was generated and has a lot of data: - at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) -2021-05-27 23:29:13.8477|ERROR|SERVER|Error=>System.InvalidCastException: Column 'purchaseorderitemid' is null. - at Npgsql.ThrowHelper.ThrowInvalidCastException_NoValue(FieldDescription field) - at Npgsql.NpgsqlDataReader.GetFieldValue[T](Int32 ordinal) - at lambda_method7490(Closure , QueryContext , DbDataReader , ResultContext , SingleQueryResultCoordinator ) - at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync() - at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable`1 asyncEnumerable, CancellationToken cancellationToken) - at Microsoft.EntityFrameworkCore.Query.ShapedQueryCompilingExpressionVisitor.SingleOrDefaultAsync[TSource](IAsyncEnumerable`1 asyncEnumerable, CancellationToken cancellationToken) - at AyaNova.Biz.WorkOrderBiz.PartRequestGetAsync(Int64 id, Boolean logTheGetEvent) in C:\data\code\raven\server\AyaNova\biz\WorkOrderBiz.cs:line 3540 - at AyaNova.Biz.WorkOrderBiz.PartRequestDeleteAsync(Int64 id, IDbContextTransaction parentTransaction) in C:\data\code\raven\server\AyaNova\biz\WorkOrderBiz.cs:line 3595 - at AyaNova.Biz.WorkOrderBiz.ItemDeleteAsync(Int64 id, IDbContextTransaction parentTransaction) in C:\data\code\raven\server\AyaNova\biz\WorkOrderBiz.cs:line 1313 - at AyaNova.Api.Controllers.WorkOrderController.DeleteWorkOrderItem(Int64 WorkOrderItemId) in C:\data\code\raven\server\AyaNova\Controllers\WorkOrderController.cs:line 418 - at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) - at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Logged|12_1(ControllerActionInvoker invoker) - at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.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.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) - at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) OTHER TODOs -todo:seeding now slower, is it doing unnecessary work when wo is generated like populate viz? +todo: implement name cache for populateviz with type and id so it can work from memory where possible + e.g. taxcodes likely get reused all over the place so querying for them constantly is wasted time and overhead + todo: seeder stock data / translations: loanunit "Units" have extraneous "rate" in them, i.e. "Hourly rate", sb just "Hourly" todo: LoanUnit edit form add "*Cost" fields to UI todo: part request