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

SQLException: View 'openboxes.on_order_order_item_summary' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them #2561

Open
jmiranda opened this issue Jul 30, 2021 · 1 comment

Comments

@jmiranda
Copy link
Member

Encountered the following error, during the database migration process for WAR generated off the develop branch (0.8.17-SNAPSHOT)

2021-07-30 17:59:11,127 [localhost-startStop-1] INFO  liquibase  - Changeset 0.8.x/changelog-2021-06-24-1800-create-table-order-type.xml::2406202118000-0::awalkowiak::(MD5Sum: 495b8a8a2dc2c217a8c98989498e34e0)
2021-07-30 17:59:18,904 [localhost-startStop-1] INFO  liquibase  - Changeset 0.8.x/changelog-2021-06-24-1800-create-table-order-type.xml::2406202118000-1::awalkowiak::(MD5Sum: 5b8feb434d70f61ccc1827dbd170f08a)
2021-07-30 17:59:27,429 [localhost-startStop-1] INFO  liquibase  - Changeset 0.8.x/changelog-2021-06-24-1800-create-table-order-type.xml::2406202118000-2::awalkowiak::(MD5Sum: dbf5bc5145c9f4c47d2866b268fe6d)
2021-07-30 17:59:35,649 [localhost-startStop-1] INFO  liquibase  - Changeset 0.8.x/changelog-2021-06-24-1800-create-table-order-type.xml::2406202118000-3::awalkowiak::(MD5Sum: a532b0c1213ac3e8267b61d6ecee99)
2021-07-30 17:59:43,602 [localhost-startStop-1] INFO  liquibase  - Changeset 0.8.x/changelog-2021-06-24-1815-alter-table-order-add-column-order-type.xml::2406202118150-0::awalkowiak::(MD5Sum: f67716b91239d5d8a8cdf7f738f9d79)
2021-07-30 17:59:51,674 [localhost-startStop-1] INFO  liquibase  - Changeset 0.8.x/changelog-2021-06-24-1830-migrate-order-type-code-into-order-type.xml::2406202118300-0::awalkowiak::(MD5Sum: 425f8b7551e335bdf0578b47737d8a6)
2021-07-30 18:00:00,015 [DefaultPluginScheduler_Worker-8] INFO  jobs.DataCleaningJob  - Postponing job execution until liquibase migrations are complete
2021-07-30 18:00:00,025 [DefaultPluginScheduler_Worker-7] INFO  jobs.AssignIdentifierJob  - Postponing job execution until liquibase migrations are complete
2021-07-30 18:00:12,062 [localhost-startStop-1] INFO  liquibase  - Changeset 0.8.x/changelog-2021-06-24-1830-migrate-order-type-code-into-order-type.xml::2406202118300-1::awalkowiak::(MD5Sum: 5e65f62570a5ccdff0708d73598aa16e)
2021-07-30 18:00:20,808 [localhost-startStop-1] INFO  liquibase  - Changeset 0.8.x/changelog-2021-06-25-1810-alter-table-invoice-item-add-column-unit-price.xml::2506202118100-0::pmuchowski::(MD5Sum: 2a26eb9dd19fddf4991d4356847c1ea6)
2021-07-30 18:00:28,283 [localhost-startStop-1] INFO  liquibase  - Release Database Lock
2021-07-30 18:00:28,286 [localhost-startStop-1] INFO  liquibase  - Successfully released change log lock
2021-07-30 18:00:47,066 [localhost-startStop-1] ERROR context.ContextLoader  - Context initialization failed
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is org.codehaus.groovy.runtime.InvokerInvocationException: liquibase.exception.MigrationFailedException: Migration failed for change set 0.8.x/changelog-2021-06-25-1810-alter-table-invoice-item-add-column-unit-price.xml::2506202118100-0::pmuchowski:
     Reason: 
          java.sql.SQLException: View 'openboxes.on_order_order_item_summary' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

	at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:87)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5128)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5653)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1007)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:983)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:639)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2019)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: liquibase.exception.MigrationFailedException: Migration failed for change set 0.8.x/changelog-2021-06-25-1810-alter-table-invoice-item-add-column-unit-price.xml::2506202118100-0::pmuchowski:
     Reason: 
          java.sql.SQLException: View 'openboxes.on_order_order_item_summary' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

	at grails.util.Environment.evaluateEnvironmentSpecificBlock(Environment.java:251)
	at grails.util.Environment.executeForEnvironment(Environment.java:244)
	at grails.util.Environment.executeForCurrentEnvironment(Environment.java:220)
	... 5 more
Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set 0.8.x/changelog-2021-06-25-1810-alter-table-invoice-item-add-column-unit-price.xml::2506202118100-0::pmuchowski:
     Reason: 
          java.sql.SQLException: View 'openboxes.on_order_order_item_summary' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

	at liquibase.ChangeSet.execute(ChangeSet.java:182)
	at liquibase.parser.visitor.UpdateVisitor.visit(UpdateVisitor.java:26)
	at liquibase.parser.ChangeLogIterator.run(ChangeLogIterator.java:41)
	at liquibase.Liquibase.update(Liquibase.java:112)
	at liquibase.Liquibase$update.call(Unknown Source)
	at BootStrap$_closure1.doCall(BootStrap.groovy:469)
	... 8 more
Jul 30, 2021 6:00:47 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
2021-07-30 18:00:47,116 [localhost-startStop-1] ERROR session.StandardManager  - IOException while loading persisted sessions: [java.io.StreamCorruptedException: invalid type code: 00]
java.io.StreamCorruptedException: invalid type code: 00
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1695)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2401)
	at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:631)
	at java.lang.Throwable.readObject(Throwable.java:915)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:607)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1187)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2292)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2183)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1665)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:501)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:459)
	at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1579)
	at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1067)
	at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:259)
	at org.apache.catalina.session.StandardManager.load(StandardManager.java:176)
	at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:467)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5663)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1007)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:983)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:639)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2019)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
	at java.lang.Thread.run(Thread.java:748)
2021-07-30 18:00:47,118 [localhost-startStop-1] ERROR session.StandardManager  - Exception loading sessions from persistent storage
java.io.StreamCorruptedException: invalid type code: 00
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1695)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2401)
	at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:631)
	at java.lang.Throwable.readObject(Throwable.java:915)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:607)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1187)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2292)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2183)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1665)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:501)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:459)
	at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1579)
	at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1067)
	at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:259)
	at org.apache.catalina.session.StandardManager.load(StandardManager.java:176)
	at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:467)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5663)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1007)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:983)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:639)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2019)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
	at java.lang.Thread.run(Thread.java:748)
@jmiranda
Copy link
Member Author

I haven't figured out exactly why this occurs but my guess is that the view no longer matches the underlying schema. One solution would be to drop all views before start the database migration process.

In the meantime, we can manually drop the offending view(s) and see if that fixes the issue.

drop view on_order_order_item_summary;
drop view on_order_summary;

NOTE: The view will be recreated at the end of the database migration process, so there's no need to manually recreate them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant