Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
6.6.6, 6.7.0, 6.8.0, 6.15.4, 7.2.0, 7.4.0, 7.10.0, 7.12.3
-
32
-
Severity 3 - Minor
-
6
-
Description
Summary
Misleading "Schema check for table" warnings are thrown during startup
Environment
- Postgres SQL DB
- Confluence 6.*
Observed in atlassian-confluence.log at startup
2018-04-12 21:27:38,373 WARN [AtlassianEvent::CustomizableThreadFactory-2] [persistence.schema.hibernate.HibernateSchemaComparator] lambda$compareTables$0 Schema check for table [EVENTS] encountered an error. Turn debug logging on for stacktrace. 2018-04-12 21:27:38,375 WARN [AtlassianEvent::CustomizableThreadFactory-2] [persistence.schema.hibernate.HibernateSchemaComparator] lambda$compareTables$0 Schema check for table [SECRETS] encountered an error. Turn debug logging on for stacktrace. 2018-04-12 21:27:38,377 WARN [AtlassianEvent::CustomizableThreadFactory-2] [persistence.schema.hibernate.HibernateSchemaComparator] lambda$compareTables$0 Schema check for table [SNAPSHOTS] encountered an error. Turn debug logging on for stacktrace.
Enabling debug logging will expose a java.lang.NullPointerException error
2018-04-13 20:25:20,733 DEBUG [AtlassianEvent::CustomizableThreadFactory-2] [persistence.schema.hibernate.HibernateSchemaComparator] lambda$compareTables$0 java.lang.NullPointerException at com.atlassian.confluence.core.persistence.schema.hibernate.HibernateSchemaComparator.compareColumns(HibernateSchemaComparator.java:115) at com.atlassian.confluence.core.persistence.schema.hibernate.HibernateSchemaComparator.compareTable(HibernateSchemaComparator.java:103) at com.atlassian.confluence.core.persistence.schema.hibernate.HibernateSchemaComparator.lambda$compareTables$0(HibernateSchemaComparator.java:84) at com.google.common.collect.Iterators$8.transform(Iterators.java:799) at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) at com.google.common.collect.Iterators$7.computeNext(Iterators.java:651) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at com.google.common.collect.Iterators.addAll(Iterators.java:361) at com.google.common.collect.Lists.newArrayList(Lists.java:160) at com.google.common.collect.Lists.newArrayList(Lists.java:144) at com.atlassian.confluence.core.persistence.schema.hibernate.HibernateSchemaComparator.compareTables(HibernateSchemaComparator.java:82) at com.atlassian.confluence.core.persistence.schema.hibernate.HibernateSchemaComparator.compareSchema(HibernateSchemaComparator.java:68) at com.atlassian.confluence.core.persistence.schema.hibernate.HibernateSchemaComparisonService.compareExpectedWithActualSchema(HibernateSchemaComparisonService.java:53) at com.atlassian.confluence.core.persistence.schema.StartupSchemaChecker.checkSchema(StartupSchemaChecker.java:63) at com.atlassian.confluence.core.persistence.schema.StartupSchemaChecker.checkSchemaIfBuildNumbersMatch(StartupSchemaChecker.java:52) at com.atlassian.tenancy.api.helper.PerTenantInitialiser.onTenantArrived(PerTenantInitialiser.java:49) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:40) at com.atlassian.confluence.event.ConfluenceListenerHandlersConfiguration$TimingListenerHandler$1$1.invoke(ConfluenceListenerHandlersConfiguration.java:69) at com.atlassian.confluence.event.ConfluenceEventDispatcher$VCacheRequestContextRunnableFactory$1.lambda$run$0(ConfluenceEventDispatcher.java:93) at com.atlassian.confluence.vcache.VCacheRequestContextOperations.lambda$doInRequestContext$0(VCacheRequestContextOperations.java:50) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContextInternal(VCacheRequestContextManager.java:87) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:71) at com.atlassian.confluence.vcache.VCacheRequestContextOperations.doInRequestContext(VCacheRequestContextOperations.java:49) at com.atlassian.confluence.event.ConfluenceEventDispatcher$VCacheRequestContextRunnableFactory$1.run(ConfluenceEventDispatcher.java:93) at com.atlassian.confluence.event.ConfluenceEventDispatcher$1.run(ConfluenceEventDispatcher.java:61) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
Further errors can be seen
"Column [buildnumber] of table [confversion] has mismatched definitions for expected [Column confversion.buildnumber int4 non-nullable] and actual [Column confversion.buildnumber int4(10) nullable]" "Column [labelid] of table [content_label] has mismatched definitions for expected [Column content_label.labelid int8 non-nullable] and actual [Column content_label.labelid int8(19) nullable]" "Column [cp_type] of table [content_perm] has mismatched definitions for expected [Column content_perm.cp_type varchar(10) non-nullable] and actual [Column content_perm.cp_type varchar(10) nullable]" "Column [follower] of table [follow_connections] has mismatched definitions for expected [Column follow_connections.follower varchar(255) nullable] and actual [Column follow_connections.follower varchar(255) non-nullable]" "Column [followee] of table [follow_connections] has mismatched definitions for expected [Column follow_connections.followee varchar(255) nullable] and actual [Column follow_connections.followee varchar(255) non-nullable]" "Column [username] of table [logininfo] has mismatched definitions for expected [Column logininfo.username varchar(255) non-nullable] and actual [Column logininfo.username varchar(255) nullable]" "Column [public_key_id] of table [trustedapp] has mismatched definitions for expected [Column trustedapp.public_key_id int8 non-nullable] and actual [Column trustedapp.public_key_id int8(19) nullable]"
Workaround
Performing DB encoding check will return no issues, warnings are cosmetic
Attachments
Issue Links
- relates to
-
CONFSERVER-36970 Database Constraint Checker has mismatched definitions for expected nullable and actual non-nullable
- Gathering Impact
- causes
-
PSSRV-7224 Loading...
(1 mentioned in)