Adobe Content Server Logs Show Error: Specified key was too long; max key length is 3072 bytes
Estimated Reading Time: 2 MinutesWhen creating a new instance of Adobe Content Server on a completely new database, ACS will typically throw this error when attempting to navigate to admin/statuscheck, packaging/statuscheck, or admin/statuscheck for the first time:
11 Jul 2025 14:16:47,247 FATAL [http-nio-8080-exec-3] Initializer: initialization failed com.adobe.adept.persist.DatabaseException: java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 3072 bytes at com.adobe.adept.persist.DefaultSQLDatabaseConnection.executeScript(DefaultSQLDatabaseConnection.java:410) at com.adobe.adept.persist.DefaultSQLDatabaseConnection.ensureTable(DefaultSQLDatabaseConnection.java:668) at com.adobe.adept.util.Initializer.initialize(Initializer.java:288) at com.adobe.adept.util.Initializer.initialize(Initializer.java:138) at com.adobe.adept.common.servlet.Status.<clinit>(Status.java:54) at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160) at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.ensureClassInitialized(MethodHandleAccessorFactory.java:300) at java.base/jdk.internal.reflect.MethodHandleAccessorFactory.newConstructorAccessor(MethodHandleAccessorFactory.java:103) at java.base/jdk.internal.reflect.ReflectionFactory.newConstructorAccessor(ReflectionFactory.java:201) at java.base/java.lang.reflect.Constructor.acquireConstructorAccessor(Constructor.java:547) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:497) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:484) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1070) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:788) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:1589)
In order to fix this, you must run the following command within the SQL console in your database:
SET GLOBAL default_storage_engine = 'InnoDB';
Once you have done this, restart Tomcat. Navigate to any of the /statuscheck pages and you'll find that the same problem will occur again. You will need to run the SQL command once more and then restart Tomcat again. After this, the error will not appear again.