Question

Photo of Michael Garrison

0

Update to 1.0.10 broke my installation

I hit the update to 1.0.10 last night, and it showed the "working" modal for a few minutes like normal, then the modal disappeared and it remained on the "1.0.10 is available" page. When I tried to navigate to another page I got an error, and now no matter what computer I use and what page I try to load, I'm getting this:

Exception in App_Web_grgm5xfv

Message
URL routing has not been configured correctly. This is usually due to an exception occurring during application start-up. Please check the exception log for any recent exceptions (you may have to check the 'ExceptionLog' database table directly if you are not able to view exceptions in Rock). In cases where Rock was not able to access the database, it logs errors to the /App_Data/Logs/RockExceptions.csv file. Make sure to check this file also for any recent exceptions.

Stack Trace

   at ASP.default_aspx.OnLoad(EventArgs e)

The ExceptionLog table has these three entries for yesterday:

Id ParentId SiteId PageId HasInnerException StatusCode ExceptionType Description Source StackTrace
263 NULL NULL NULL 0 NULL System.Net.WebException The remote server returned an error: (503) Server Unavailable. System at System.Net.HttpWebRequest.GetResponse() at RockWeb.Global.CacheItemRemoved(String k, Object v, CacheItemRemovedReason r)
264 NULL NULL NULL 0 NULL System.Net.WebException The remote server returned an error: (503) Server Unavailable. System at System.Net.HttpWebRequest.GetResponse() at RockWeb.Global.CacheItemRemoved(String k, Object v, CacheItemRemovedReason r)
265 NULL NULL NULL 0 NULL System.Net.WebException The remote server returned an error: (503) Server Unavailable. System at System.Net.HttpWebRequest.GetResponse() at RockWeb.Global.CacheItemRemoved(String k, Object v, CacheItemRemovedReason r)

I don't know if the issue is something mis-configured suddenly with IIS, or if I can trick the RoCK installer to just put the new files on the server and keep pointing to the old data, or if the data is corrupt now somehow. What's the next step for getting up and running again?

Thanks

  • Michael Garrison

    I also just looked in \appdata\logs\rockexceptions.csv and found lots of entries of three specific errors for yesterday and today:


    System.TypeInitializationException The type initializer for 'Rock.Workflow.TriggerCache' threw an exception.


    System.Data.SqlClient.SqlException Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.


    System.Exception Exception in Global.DrainTransactionQueue(): AuditTransaction

  • David Turner

    Michael, just to get an idea of what state your installation is in, can you check your __MigrationHistory table in the Rock database and check what migration was last run (the MigrationId of the last row in that table). Also, what's the date/version of the Rock.dll file in the bin folder of your rock installation?

  • Michael Garrison

    rock.dll is version 1.0.10.0, dated yesterday at 6:46pm (likely the time I triggered the update).
    The MigrationID of the last row (237) in the __MigrationHistory table is 201407161222553_InternationalAddress

  • Photo of David Turner

    0

    In one of the migrations for 1.0.10, we incorrectly assume that the 'Adult Member & Attendees' data view would have only one 'In group of group type' filter. Looks like you may have added an additional 'In group of group type' filter. In order to get the migration to run succesfully, the easiest thing would probably be to delete the extra filter, restart Rock so that migrations can run succesfully, and then go back to the dataview and re-add the filter.  To delete the extra filter, you can run this SQL...

    DELETE [DataViewFilter] WHERE [Id] = 24

    After running that SQL, you'll need to restart the Rock application so that it will run the remaining migrations.  Let me know if that helps.

    David

    • Michael Garrison

      Yes, that seems to have done the trick.
      Any way of sloughing through the old database (presumably I can restore the backup to another temporary database) to figure out what my extra "in group of type" filter was? I tried several iterations of those types of filters and don't remember what the final version was.


      ...I'm assuming that restoring the backup now would be a bad thing- schema or layouts probably changed in the update?

    • David Turner

      If you restore that backup to another location and then query on that filter (SELECT [Selection] FROM [DataViewFilter] WHERE [ID] = 24), the selection is a combination of the group type's guid (GroupType table) and the role's guid (GroupTypeRole table) .

    • Michael Garrison

      I got 10|3 from that query - ID 10 in GroupType is "Family" and ID 3 in GroupTypeRole is "Adult" so it's probably a filter I set up in answer to the bug I noted at https://github.com/SparkDevNetwork/Rock/issues/374 .
      Now my "Adult Member and Attendees" data view reads, "Record Status is AND Connection Status is 'Attendee' or 'Member' AND In group of group type: Family, with role(s): Adult" (note that the data view is an empty list). So the first criteria "Record Status is" must have been the offending filter I deleted. Is it safe to delete that criteria and move on or is there more cleanup that might be necessary after deleting that filter?


      THANKS for your help!!!!

    • David Turner

      Instead of deleting that filter, can you select the 'Active' checkbox for the Record Status filterso that it looks like the screenshot Nick posted in that issue?

    • Michael Garrison

      Good call. Yes, done and it works now. Thanks again! Anything else I should check to make sure deleting that record didn't affect that you can think of?

  • Photo of David Turner

    0

    Looks like one of the migrations in the 1.0.10 update is failing during your application startup ( there are 3 more migrations that should of run after the InternaionalAddress migration ). To try and pinpoint why it's failing can you run this sql on your database and let me know how many results you get...

    DECLARE @ParentFilterId int = (SELECT [DataViewFilterId] FROM [DataView] WHERE [Guid] = '0DA5F82F-CFFE-45AF-B725-49B3899A1F72')
    DECLARE @EntityTypeId int = (SELECT [Id] FROM [EntityType] WHERE [Guid] = '03F0D6AC-D181-48B6-B4BC-1F2652B55323')
    SELECT [Id] FROM [DataViewFilter] WHERE [ParentId] = @ParentFilterId AND [EntityTypeId] = @EntityTypeId AND [Selection] LIKE '%ConnectionStatusValueId%'

    Thanks,
    David

    • David Turner

      Ok, that was fine, Just trying to figure out the sql that is failing in the migration. Here's another query...


      DECLARE @ParentFilterId int = (SELECT [DataViewFilterId] FROM [DataView] WHERE [Guid] = '0DA5F82F-CFFE-45AF-B725-49B3899A1F72')
      DECLARE @EntityTypeId int = (SELECT [Id] FROM [EntityType] WHERE [Guid] = '0E239967-6D33-4205-B19F-08AD8FF6ED0B')
      SELECT [Id] FROM [DataViewFilter] WHERE [ParentId] = @ParentFilterId AND [EntityTypeId] = @EntityTypeId