cluster Jahia 7.3 Jahia 8

Processing node has no digital-factory-config folder

Question

The installation of the processing node seems working but the folder /opt/DigitalExperienceManager/digital-factory-config was not created.

Cause

The file /opt/DigitalExperienceManager/install.log has revealed this error:

[java] exception in setting the properties because of java.sql.SQLException: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
[java] java.sql.SQLException: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
[java] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084)
[java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4232)
[java] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4164)
[java] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615)
[java] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776)
[java] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2832)
[java] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2781)
[java] at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:908)
[java] at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:788)
[java] at org.jahia.commons.DatabaseScripts.executeStatements(DatabaseScripts.java:203)
[java] at org.jahia.configuration.configurators.JahiaGlobalConfigurator.createDBTables(JahiaGlobalConfigurator.java:795)
[java] at org.jahia.configuration.configurators.JahiaGlobalConfigurator.setProperties(JahiaGlobalConfigurator.java:516)
[java] at org.jahia.configuration.configurators.JahiaGlobalConfigurator.execute(JahiaGlobalConfigurator.java:205)
[java] at org.jahia.configuration.Main.main(Main.java:97)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[java] at java.lang.reflect.Method.invoke(Method.java:606)
[java] at com.simontuffs.onejar.Boot.run(Boot.java:306)
[java] at com.simontuffs.onejar.Boot.main(Boot.java:159)

Solution

This error is detailed in the following MySQL site: https://dev.mysql.com/doc/refman/5.7/en/stored-programs-logging.html 

The exception " You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)" is defined as below: 

The CREATE FUNCTION and INSERT statements are written to the binary log, so the slave will execute them. Because the slave SQL thread has full privileges, it will execute the dangerous statement. Thus, the function invocation has different effects on the master and slave and is not replication-safe. 

To guard against this danger for servers that have binary logging enabled, stored function creators must have the SUPER privilege, in addition to the usual CREATE ROUTINE privilege that is required. Similarly, to use ALTER FUNCTION, you must have the SUPER privilege in addition to the ALTER ROUTINE privilege. Without the SUPER privilege, an error will occur: 

ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 

If you do not want to require function creators to have the SUPER privilege (for example, if all users with the CREATE ROUTINE privilege on your system are experienced application developers), set the global log_bin_trust_function_creators system variable to 1. You can also set this variable by using the --log-bin-trust-function-creators=1 option when starting the server. If binary logging is not enabled, log_bin_trust_function_creators does not apply. SUPER is not required for function creation unless, as described previously, the DEFINER value in the function definition requires it. 

This error has prevented the creation of Jahia tables and indexes in your MySQL instance and this is the reason why the customer cannot see the /opt/DigitalExperienceManager/digital-factory-config folder as the installation is not complete.