Installation Problem



  • Good Afternoon All,
    I am trying to install FusionAuth on windows server 2012 R2, I have used the powershell command in the download section under Windows. When i run the command i get the following error

    ModuleType Version Name ExportedCommands


    Script 0.0 FusionAuth {Install-FusionAuth, install}
    Invoke-WebRequest : The underlying connection was closed: An unexpected error occurred on a send.
    At line:55 char:20

    • ... $VERSION = Invoke-WebRequest -UseBasicParsing -Uri https://metrics.f ...
    •             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      • CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
        eption
      • FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

    Has anyone seen this issue before, Could anyone help me please

    Thanks



  • Hmmm. I haven't seen that error before.

    Can you confirm you can download the zip file directly? https://fusionauth.io/direct-download

    That would rule out any network connectivity issues.



  • Hi,

    Yes i can download the files manually from the website. I'm unsure how to install this when i have them manually

    Thanks,



  • I have unzipped the files and added them into C:\Folder\ an ran startup rom BIN I got to creating the database i can see in the CLI that it is creating the database but i get the follow error once the database has been created

    500 Internal Server Error
    An internal error occurred. FusionAuth should have captured a stack trace in the log. If you have a licensed edition, contact support using the form under the "Get Support" menu item. Otherwise, check your logs to see what the error might be.



  • What do the logs say?



  • I can't see any logs in the logs folder it says this folder is empty



  • Here's a relevant question:

    https://fusionauth.io/community/forum/topic/154/where-are-my-log-files

    So if you are starting FusionAuth on Windows, you want to cut and paste the lines in the cmd window, which are the relevant log files.



  • Hi,

    I managed to get a snapshot of the error i'm not sure if this is any good

    Screenshot 2020-07-21 at 20.26.09.png

    Thanks,



  • Hmmm. Hard to tell from here. Can you cut and paste more of the logfile?



  • Hi,

    Its hard to get all of the Export logs but i have getting what i can

      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.mappers.MapperProvider.sqlSessionManager(Mapp
    erProvider.java:37)
      while locating org.mybatis.guice.mappers.MapperProvider
      at com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initiali
    ze(Providers.java:154)
      at org.mybatis.guice.AbstractMyBatisModule.bindMapper(AbstractMyBatisModule.ja
    va:96) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.a
    pi.migration.guice.MigrationModule)
    
    38) null returned by binding at org.mybatis.guice.MyBatisModule.bindDataSourcePr
    oviderType(MyBatisModule.java:289) (via modules: io.fusionauth.app.guice.FusionA
    uthModule -> com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.
    guice.APIModule -> io.fusionauth.api.domain.guice.MyBatisModule)
     but org.mybatis.guice.environment.EnvironmentProvider.dataSource(EnvironmentPro
    vider.java:52) is not @Nullable
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating com.inversoft.jdbc.hikari.DataSourceProvider
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.transactional.TransactionalMethodInterceptor.
    sqlSessionManager(TransactionalMethodInterceptor.java:56)
      at org.mybatis.guice.AbstractMyBatisModule.bindTransactionInterceptors(Abstrac
    tMyBatisModule.java:79) (via modules: io.fusionauth.app.guice.FusionAuthModule -
    > com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIMo
    dule -> io.fusionauth.api.domain.guice.MyBatisModule)
    
    39) null returned by binding at org.mybatis.guice.MyBatisModule.bindDataSourcePr
    oviderType(MyBatisModule.java:289) (via modules: io.fusionauth.app.guice.FusionA
    uthModule -> com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.
    guice.APIModule -> io.fusionauth.api.domain.guice.MyBatisModule)
     but org.mybatis.guice.environment.EnvironmentProvider.dataSource(EnvironmentPro
    vider.java:52) is not @Nullable
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating com.inversoft.jdbc.hikari.DataSourceProvider
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.transactional.TransactionalMethodInterceptor.
    sqlSessionManager(TransactionalMethodInterceptor.java:56)
      at org.mybatis.guice.AbstractMyBatisModule.bindTransactionInterceptors(Abstrac
    tMyBatisModule.java:79) (via modules: io.fusionauth.app.guice.FusionAuthModule -
    > com.google.inject.util.Modules$OverrideModule -> io.fusionauth.app.guice.Fusio
    nAuthAPIAuthenticationModule)
    
    40) null returned by binding at org.mybatis.guice.MyBatisModule.bindDataSourcePr
    oviderType(MyBatisModule.java:289) (via modules: io.fusionauth.app.guice.FusionA
    uthModule -> com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.
    guice.APIModule -> io.fusionauth.api.domain.guice.MyBatisModule)
     but org.mybatis.guice.environment.EnvironmentProvider.dataSource(EnvironmentPro
    vider.java:52) is not @Nullable
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating com.inversoft.jdbc.hikari.DataSourceProvider
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.transactional.TransactionalMethodInterceptor.
    sqlSessionManager(TransactionalMethodInterceptor.java:56)
      at org.mybatis.guice.AbstractMyBatisModule.bindTransactionInterceptors(Abstrac
    tMyBatisModule.java:79) (via modules: io.fusionauth.app.guice.FusionAuthModule -
    > com.google.inject.util.Modules$OverrideModule -> com.inversoft.authentication.
    api.guice.APIAuthenticationModule)
    
    41) null returned by binding at org.mybatis.guice.MyBatisModule.bindDataSourcePr
    oviderType(MyBatisModule.java:289) (via modules: io.fusionauth.app.guice.FusionA
    uthModule -> com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.
    guice.APIModule -> io.fusionauth.api.domain.guice.MyBatisModule)
     but org.mybatis.guice.environment.EnvironmentProvider.dataSource(EnvironmentPro
    vider.java:52) is not @Nullable
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating com.inversoft.jdbc.hikari.DataSourceProvider
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.transactional.TransactionalMethodInterceptor.
    sqlSessionManager(TransactionalMethodInterceptor.java:56)
      at org.mybatis.guice.AbstractMyBatisModule.bindTransactionInterceptors(Abstrac
    tMyBatisModule.java:79) (via modules: io.fusionauth.app.guice.FusionAuthModule -
    > io.fusionauth.api.migration.guice.MigrationModule)
    
    41 errors
            at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist
    (Errors.java:554)
            at com.google.inject.internal.InternalInjectorCreator.injectDynamically(
    InternalInjectorCreator.java:180)
            at com.google.inject.internal.InternalInjectorCreator.build(InternalInje
    ctorCreator.java:111)
            at com.google.inject.Guice.createInjector(Guice.java:87)
            at com.google.inject.Guice.createInjector(Guice.java:69)
            at com.google.inject.Guice.createInjector(Guice.java:59)
            at org.primeframework.mvc.guice.GuiceBootstrap.initialize(GuiceBootstrap
    .java:58)
            at com.inversoft.maintenance.MaintenanceModeService.done(MaintenanceMode
    Service.java:67)
            at com.inversoft.maintenance.MaintenanceModeThreadSafeHelper.areWeDoneYe
    t(MaintenanceModeThreadSafeHelper.java:59)
            at com.inversoft.maintenance.MaintenanceModePoller.lambda$new$1(Maintena
    nceModePoller.java:46)
            at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executo
    rs.java:515)
            at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java
    :305)
            at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledF
    utureTask.run(ScheduledThreadPoolExecutor.java:305)
            at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoo
    lExecutor.java:1130)
            at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPo
    olExecutor.java:630)
            at java.base/java.lang.Thread.run(Thread.java:832)
    
    

    Thanks



  • Hmmm. Can you scroll or anything? What we're really after is the first set of exceptions at the top of the log, which should give us a starting point to troubleshoot.



  • Hi,

    I tried to get as much as possible on logs and this is all i can get

    NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED -
    -add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=
    ALL-UNNAMED
    24-Jul-2020 15:37:49.580 WARNING [main] org.apache.catalina.startup.SetAllProper
    tiesRule.begin [SetAllPropertiesRule]{Server/Service/Connector} Setting property
     'maxHttpHeaderSize' to '${fusionauth.http.max.header-size}' did not find a matc
    hing property.
    24-Jul-2020 15:37:49.674 WARNING [main] org.apache.catalina.startup.SetAllProper
    tiesRule.begin [SetAllPropertiesRule]{Server/Service/Connector} Setting property
     'maxHttpHeaderSize' to '${fusionauth.http.max.header-size}' did not find a matc
    hing property.
    24-Jul-2020 15:37:49.940 INFO [main] org.apache.catalina.core.AprLifecycleListen
    er.lifecycleEvent The APR based Apache Tomcat Native library which allows optima
    l performance in production environments was not found on the java.library.path:
     [C:\MFA\java\jdk-14.0.1+7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Wi
    ndows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System3
    2\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\M
    icrosoft\Web Platform Installer\;C:\Program Files\MySQL\MySQL Server 5.5\bin;.]
    24-Jul-2020 15:37:50.971 INFO [main] org.apache.coyote.AbstractProtocol.init Ini
    tializing ProtocolHandler ["http-nio-9011"]
    24-Jul-2020 15:37:51.127 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.
    getSharedSelector Using a shared selector for servlet write/read
    24-Jul-2020 15:37:51.174 INFO [main] org.apache.coyote.AbstractProtocol.init Ini
    tializing ProtocolHandler ["https-jsse-nio-9013"]
    24-Jul-2020 15:37:51.924 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.
    getSharedSelector Using a shared selector for servlet write/read
    24-Jul-2020 15:37:51.940 INFO [main] org.apache.coyote.AbstractProtocol.init Ini
    tializing ProtocolHandler ["ajp-nio-127.0.0.1-9019"]
    24-Jul-2020 15:37:51.940 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.
    getSharedSelector Using a shared selector for servlet write/read
    24-Jul-2020 15:37:51.955 INFO [main] org.apache.catalina.startup.Catalina.load I
    nitialization processed in 2903 ms
    24-Jul-2020 15:37:51.971 INFO [main] org.apache.catalina.core.StandardService.st
    artInternal Starting service [Catalina]
    24-Jul-2020 15:37:51.971 INFO [main] org.apache.catalina.core.StandardEngine.sta
    rtInternal Starting Servlet Engine: Apache Tomcat/8.5.53
    Jul 24, 2020 3:37:57 PM org.apache.jasper.servlet.TldScanner scanJars
    INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug
    logging for this logger for a complete list of JARs that were scanned but no TLD
    s were found in them. Skipping unneeded JARs during scanning can improve startup
     time and JSP compilation time.
    Jul 24, 2020 3:37:59.065 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Loading FusionAuth configuration file [C:\MFA\config\f
    usionauth.properties]
    Jul 24, 2020 3:37:59.174 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Dynamically set property [fusionauth-app.url] set to [
    http://10.250.118.35:9011]
    Jul 24, 2020 3:37:59.190 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Set Max HTTP header size to [8192].
    Jul 24, 2020 3:38:01.549 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Loading FusionAuth configuration file [C:\MFA\config\f
    usionauth.properties]
    Jul 24, 2020 3:38:01.627 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Dynamically set property [fusionauth-app.url] set to [
    http://10.250.118.35:9011]
    Jul 24, 2020 3:38:01.627 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Set Max HTTP header size to [8192].
    Jul 24, 2020 3:38:01.690 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Loading FusionAuth configuration file [C:\MFA\config\f
    usionauth.properties]
    Jul 24, 2020 3:38:01.768 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Dynamically set property [fusionauth-app.url] set to [
    http://10.250.118.35:9011]
    Jul 24, 2020 3:38:01.768 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Set Max HTTP header size to [8192].
    Jul 24, 2020 3:38:02.955 pm INFO  io.fusionauth.app.maintenance.FusionAuthMainte
    nanceModeWorkflow - Determine database status : DOWN
    Jul 24, 2020 3:38:02.955 pm INFO  org.primeframework.mvc.servlet.PrimeServletCon
    textListener - Initializing Prime
    Jul 24, 2020 3:38:02.955 pm INFO  io.fusionauth.app.maintenance.guice.FusionAuth
    MaintenanceModeModule -
    
    --------------------------------------------------------------------------------
    -------------------------
    --------------------------------------- Entering Maintenance Mode --------------
    -------------------------
    --------------------------------------------------------------------------------
    -------------------------
    
    Jul 24, 2020 3:38:03.205 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Loading FusionAuth configuration file [C:\MFA\config\f
    usionauth.properties]
    Jul 24, 2020 3:38:03.283 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Dynamically set property [fusionauth-app.url] set to [
    http://10.250.118.35:9011]
    Jul 24, 2020 3:38:03.283 pm INFO  io.fusionauth.api.configuration.PropertiesFile
    FusionAuthConfiguration - Set Max HTTP header size to [8192].
    Jul 24, 2020 3:38:03.283 pm INFO  com.inversoft.maintenance.MaintenanceModePolle
    r - Poller started to Wait for configuration to be completed.
    24-Jul-2020 15:38:03.393 INFO [main] org.apache.coyote.AbstractProtocol.start St
    arting ProtocolHandler ["http-nio-9011"]
    24-Jul-2020 15:38:03.424 INFO [main] org.apache.coyote.AbstractProtocol.start St
    arting ProtocolHandler ["https-jsse-nio-9013"]
    24-Jul-2020 15:38:03.440 INFO [main] org.apache.coyote.AbstractProtocol.start St
    arting ProtocolHandler ["ajp-nio-127.0.0.1-9019"]
    24-Jul-2020 15:38:03.440 INFO [main] org.apache.catalina.startup.Catalina.start
    Server startup in 11490 ms
      applications_id            BINARY(16) NOT NULL,
      clean_speak_application_id BINARY(16) NOT NULL,
      CONSTRAINT clean_speak_applications_fk_1 FOREIGN KEY (applications_id) REFEREN
    CES applications(id),
      CONSTRAINT clean_speak_applications_uk_1 UNIQUE (applications_id, clean_speak_
    application_id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE application_roles (
      id                  BINARY(16)   NOT NULL,
      applications_id     BINARY(16)   NOT NULL,
      description         VARCHAR(255) NULL,
      insert_instant      BIGINT       NOT NULL,
      is_default          BIT(1)       NOT NULL,
      is_super_role       BIT(1)       NOT NULL,
      last_update_instant BIGINT       NOT NULL,
      name                VARCHAR(191) NOT NULL,
      PRIMARY KEY (id),
      CONSTRAINT application_roles_uk_1 UNIQUE (name, applications_id),
      CONSTRAINT application_roles_fk_1 FOREIGN KEY (applications_id) REFERENCES app
    lications(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE `groups` (
      id                  BINARY(16)   NOT NULL,
      data                MEDIUMTEXT   NULL,
      insert_instant      BIGINT       NOT NULL,
      last_update_instant BIGINT       NOT NULL,
      name                VARCHAR(191) NOT NULL,
      tenants_id          BINARY(16)   NOT NULL,
      PRIMARY KEY (id),
      CONSTRAINT groups_uk_1 UNIQUE (name, tenants_id),
      CONSTRAINT groups_fk_1 FOREIGN KEY (tenants_id) REFERENCES tenants(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE group_application_roles (
      application_roles_id BINARY(16) NOT NULL,
      groups_id            BINARY(16) NOT NULL,
      CONSTRAINT group_application_roles_uk_1 UNIQUE (groups_id, application_roles_i
    d),
      CONSTRAINT group_application_roles_fk_1 FOREIGN KEY (groups_id) REFERENCES `gr
    oups`(id),
      CONSTRAINT group_application_roles_fk_2 FOREIGN KEY (application_roles_id) REF
    ERENCES application_roles(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE webhooks (
      id                           BINARY(16)   NOT NULL,
      connect_timeout              INTEGER      NOT NULL,
      description                  VARCHAR(255) NULL,
      data                         TEXT         NULL,
      global                       BIT(1)       NOT NULL,
      headers                      TEXT         NULL,
      http_authentication_username VARCHAR(255) NULL,
      http_authentication_password VARCHAR(255) NULL,
      insert_instant               BIGINT       NOT NULL,
      last_update_instant          BIGINT       NOT NULL,
      read_timeout                 INTEGER      NOT NULL,
      ssl_certificate              TEXT         NULL,
      url                          TEXT         NOT NULL,
      PRIMARY KEY (id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE webhooks_applications (
      webhooks_id     BINARY(16) NOT NULL,
      applications_id BINARY(16) NOT NULL,
      PRIMARY KEY (webhooks_id, applications_id),
      CONSTRAINT webhooks_applications_fk_1 FOREIGN KEY (webhooks_id) REFERENCES web
    hooks(id),
      CONSTRAINT webhooks_applications_fk_2 FOREIGN KEY (applications_id) REFERENCES
     applications(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    -- External Ids
    CREATE TABLE external_identifiers (
      id              VARCHAR(191) NOT NULL,
      applications_id BINARY(16)   NULL,
      data            TEXT         NULL,
      insert_instant  BIGINT       NOT NULL,
      tenants_id      BINARY(16)   NOT NULL,
      type            SMALLINT     NOT NULL,
      users_id        BINARY(16)   NULL,
      PRIMARY KEY (id),
      CONSTRAINT external_identifiers_fk_1 FOREIGN KEY (users_id) REFERENCES users(i
    d),
      CONSTRAINT external_identifiers_fk_2 FOREIGN KEY (applications_id) REFERENCES
    applications(id),
      CONSTRAINT external_identifiers_fk_3 FOREIGN KEY (tenants_id) REFERENCES tenan
    ts(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    CREATE INDEX external_identifiers_i_1 ON external_identifiers(tenants_id, type,
    insert_instant);
    CREATE INDEX external_identifiers_i_2 ON external_identifiers(type, users_id, ap
    plications_id);
    
    CREATE TABLE user_registrations (
      id                   BINARY(16)   NOT NULL,
      applications_id      BINARY(16)   NOT NULL,
      authentication_token VARCHAR(255) NULL,
      clean_speak_id       BINARY(16)   NULL,
      data                 MEDIUMTEXT   NULL,
      insert_instant       BIGINT       NOT NULL,
      last_login_instant   BIGINT       NULL,
      last_update_instant  BIGINT       NOT NULL,
      timezone             VARCHAR(255) NULL,
      username             VARCHAR(191) NULL,
      username_status      SMALLINT     NOT NULL,
      users_id             BINARY(16)   NOT NULL,
      verified             BIT(1)       NOT NULL,
      PRIMARY KEY (id),
      CONSTRAINT user_registrations_uk_1 UNIQUE KEY (applications_id, users_id),
      CONSTRAINT user_registrations_fk_1 FOREIGN KEY (applications_id) REFERENCES ap
    plications(id),
      CONSTRAINT user_registrations_fk_2 FOREIGN KEY (users_id) REFERENCES users(id)
    
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    CREATE INDEX user_registrations_i_1 ON user_registrations(clean_speak_id);
    # No need to create an explicit index on applications_id because it is the first
     key in the UNIQUE constraint
    CREATE INDEX user_registrations_i_2 ON user_registrations(users_id);
    
    CREATE TABLE user_registrations_application_roles (
      application_roles_id  BINARY(16) NOT NULL,
      user_registrations_id BINARY(16) NOT NULL,
      CONSTRAINT user_registrations_application_roles_uk_1 UNIQUE (user_registration
    s_id, application_roles_id),
      CONSTRAINT user_registrations_application_roles_fk_1 FOREIGN KEY (user_registr
    ations_id) REFERENCES user_registrations(id),
      CONSTRAINT user_registrations_application_roles_fk_2 FOREIGN KEY (application_
    roles_id) REFERENCES application_roles(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE families (
      data                MEDIUMTEXT NULL,
      family_id           BINARY(16) NOT NULL,
      insert_instant      BIGINT     NOT NULL,
      last_update_instant BIGINT     NOT NULL,
      owner               BIT(1)     NOT NULL,
      role                SMALLINT   NOT NULL,
      users_id            BINARY(16) NOT NULL,
      PRIMARY KEY (family_id, users_id),
      CONSTRAINT families_fk_1 FOREIGN KEY (users_id) REFERENCES users(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    CREATE INDEX families_i_1 ON families(users_id);
    
    CREATE TABLE group_members (
      id             BINARY(16) NOT NULL,
      groups_id      BINARY(16) NOT NULL,
      data           MEDIUMTEXT NULL,
      insert_instant BIGINT     NOT NULL,
      users_id       BINARY(16) NOT NULL,
      PRIMARY KEY (id),
      CONSTRAINT group_members_uk_1 UNIQUE (groups_id, users_id),
      CONSTRAINT group_members_fk_1 FOREIGN KEY (users_id) REFERENCES users(id),
      CONSTRAINT group_members_fk_2 FOREIGN KEY (groups_id) REFERENCES `groups`(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    CREATE INDEX group_members_i_1 ON group_members(users_id);
    # No need to create an explicit index on groups_id because it is the first key i
    n the UNIQUE constraint
    
    CREATE TABLE user_action_logs (
      id                 BINARY(16)   NOT NULL,
      actioner_users_id  BINARY(16)   NULL,
      actionee_users_id  BINARY(16)   NOT NULL,
      comment            TEXT         NULL,
      email_user_on_end  BIT(1)       NOT NULL,
      end_event_sent     BIT(1)       NULL,
      expiry             BIGINT       NULL,
      history            TEXT         NULL,
      insert_instant     BIGINT       NOT NULL,
      localized_name     VARCHAR(191) NULL,
      localized_option   VARCHAR(255) NULL,
      localized_reason   VARCHAR(255) NULL,
      name               VARCHAR(191) NULL,
      notify_user_on_end BIT(1)       NOT NULL,
      option_name        VARCHAR(255) NULL,
      reason             VARCHAR(255) NULL,
      reason_code        VARCHAR(255) NULL,
      user_actions_id    BINARY(16)   NOT NULL,
      PRIMARY KEY (id),
      CONSTRAINT user_action_logs_fk_1 FOREIGN KEY (actioner_users_id) REFERENCES us
    ers(id),
      CONSTRAINT user_action_logs_fk_2 FOREIGN KEY (actionee_users_id) REFERENCES us
    ers(id),
      CONSTRAINT user_action_logs_fk_3 FOREIGN KEY (user_actions_id) REFERENCES user
    _actions(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    CREATE INDEX user_action_logs_i_1 ON user_action_logs(insert_instant);
    CREATE INDEX user_action_logs_i_2 ON user_action_logs(expiry, end_event_sent);
    
    CREATE TABLE user_action_logs_applications (
      applications_id     BINARY(16) NOT NULL,
      user_action_logs_id BINARY(16) NOT NULL,
      CONSTRAINT user_action_logs_applications_fk_1 FOREIGN KEY (applications_id) RE
    FERENCES applications(id)
        ON DELETE CASCADE,
      CONSTRAINT user_action_logs_applications_fk_2 FOREIGN KEY (user_action_logs_id
    ) REFERENCES user_action_logs(id)
        ON DELETE CASCADE
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE user_comments (
      id             BINARY(16) NOT NULL,
      comment        TEXT       NULL,
      commenter_id   BINARY(16) NOT NULL,
      insert_instant BIGINT     NOT NULL,
      users_id       BINARY(16) NOT NULL,
      PRIMARY KEY (id),
      CONSTRAINT user_comments_fk_1 FOREIGN KEY (users_id) REFERENCES users(id),
      CONSTRAINT user_comments_fk_2 FOREIGN KEY (commenter_id) REFERENCES users(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    CREATE INDEX user_comments_i_1 ON user_comments(insert_instant);
    CREATE INDEX user_comments_i_2 ON user_comments(users_id);
    CREATE INDEX user_comments_i_3 ON user_comments(commenter_id);
    
    CREATE TABLE authentication_keys (
      id                  VARCHAR(191) NOT NULL,
      insert_instant      BIGINT       NOT NULL,
      last_update_instant BIGINT       NOT NULL,
      permissions         TEXT         NULL,
      meta_data           TEXT         NULL,
      tenants_id          BINARY(16)   NULL,
      PRIMARY KEY (id),
      CONSTRAINT authentication_keys_fk_1 FOREIGN KEY (tenants_id) REFERENCES tenant
    s(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE system_configuration (
      data                LONGTEXT     NOT NULL,
      insert_instant      BIGINT       NOT NULL,
      last_update_instant BIGINT       NOT NULL,
      report_timezone     VARCHAR(255) NOT NULL
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    
    CREATE TABLE raw_logins (
      applications_id BINARY(16)   NULL,
      instant         BIGINT       NOT NULL,
      ip_address      VARCHAR(255) NULL,
      users_id        BINARY(16)   NOT NULL,
      CONSTRAINT raw_logins_fk_1 FOREIGN KEY (applications_id) REFERENCES applicatio
    ns(id),
      CONSTRAINT raw_logins_fk_2 FOREIGN KEY (users_id) REFERENCES users(id)
    )
      ENGINE = innodb
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_bin;
    CREATE INDEX raw_logins_i_1 ON raw_logins(instant);
    CREATE INDEX raw_logins_i_2 ON raw_logins(users_id, instant);
    
    CREATE TABLE hourly_logins (
      applications_id BINARY(16) NOT NULL,
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.mappers.MapperProvider.sqlSessionManager(Mapp
    erProvider.java:37)
      while locating org.mybatis.guice.mappers.MapperProvider
      at com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initiali
    ze(Providers.java:154)
      at org.mybatis.guice.AbstractMyBatisModule.bindMapper(AbstractMyBatisModule.ja
    va:96) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.a
    pi.migration.guice.MigrationModule)
    
    38) null returned by binding at org.mybatis.guice.MyBatisModule.bindDataSourcePr
    oviderType(MyBatisModule.java:289) (via modules: io.fusionauth.app.guice.FusionA
    uthModule -> com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.
    guice.APIModule -> io.fusionauth.api.domain.guice.MyBatisModule)
     but org.mybatis.guice.environment.EnvironmentProvider.dataSource(EnvironmentPro
    vider.java:52) is not @Nullable
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating com.inversoft.jdbc.hikari.DataSourceProvider
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.transactional.TransactionalMethodInterceptor.
    sqlSessionManager(TransactionalMethodInterceptor.java:56)
      at org.mybatis.guice.AbstractMyBatisModule.bindTransactionInterceptors(Abstrac
    tMyBatisModule.java:79) (via modules: io.fusionauth.app.guice.FusionAuthModule -
    > com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIMo
    dule -> io.fusionauth.api.domain.guice.MyBatisModule)
    
    39) null returned by binding at org.mybatis.guice.MyBatisModule.bindDataSourcePr
    oviderType(MyBatisModule.java:289) (via modules: io.fusionauth.app.guice.FusionA
    uthModule -> com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.
    guice.APIModule -> io.fusionauth.api.domain.guice.MyBatisModule)
     but org.mybatis.guice.environment.EnvironmentProvider.dataSource(EnvironmentPro
    vider.java:52) is not @Nullable
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating com.inversoft.jdbc.hikari.DataSourceProvider
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.transactional.TransactionalMethodInterceptor.
    sqlSessionManager(TransactionalMethodInterceptor.java:56)
      at org.mybatis.guice.AbstractMyBatisModule.bindTransactionInterceptors(Abstrac
    tMyBatisModule.java:79) (via modules: io.fusionauth.app.guice.FusionAuthModule -
    > com.google.inject.util.Modules$OverrideModule -> io.fusionauth.app.guice.Fusio
    nAuthAPIAuthenticationModule)
    
    40) null returned by binding at org.mybatis.guice.MyBatisModule.bindDataSourcePr
    oviderType(MyBatisModule.java:289) (via modules: io.fusionauth.app.guice.FusionA
    uthModule -> com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.
    guice.APIModule -> io.fusionauth.api.domain.guice.MyBatisModule)
     but org.mybatis.guice.environment.EnvironmentProvider.dataSource(EnvironmentPro
    vider.java:52) is not @Nullable
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating com.inversoft.jdbc.hikari.DataSourceProvider
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
      at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.transactional.TransactionalMethodInterceptor.
    sqlSessionManager(TransactionalMethodInterceptor.java:56)
      at org.mybatis.guice.AbstractMyBatisModule.bindTransactionInterceptors(Abstrac
    tMyBatisModule.java:79) (via modules: io.fusionauth.app.guice.FusionAuthModule -
    > com.google.inject.util.Modules$OverrideModule -> com.inversoft.authentication.
    api.guice.APIAuthenticationModule)
    
    41) null returned by binding at org.mybatis.guice.MyBatisModule.bindDataSourcePr
    oviderType(MyBatisModule.java:289) (via modules: io.fusionauth.app.guice.FusionA
    uthModule -> com.google.inject.util.Modules$OverrideModule -> io.fusionauth.api.
    guice.APIModule -> io.fusionauth.api.domain.guice.MyBatisModule)
     but org.mybatis.guice.environment.EnvironmentProvider.dataSource(EnvironmentPro
    vider.java:52) is not @Nullable
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating com.inversoft.jdbc.hikari.DataSourceProvider
      at org.mybatis.guice.MyBatisModule.bindDataSourceProviderType(MyBatisModule.ja
    va:289) (via modules: io.fusionauth.app.guice.FusionAuthModule -> com.google.inj
    ect.util.Modules$OverrideModule -> io.fusionauth.api.guice.APIModule -> io.fusio
    nauth.api.domain.guice.MyBatisModule)
      while locating javax.sql.DataSource
        for field at org.mybatis.guice.environment.EnvironmentProvider.dataSource(En
    vironmentProvider.java:52)
      at org.mybatis.guice.environment.EnvironmentProvider.class(EnvironmentProvider
    .java:27)
      while locating org.mybatis.guice.environment.EnvironmentProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:110) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.mapping.Environment
        for the 1st parameter of org.mybatis.guice.configuration.ConfigurationProvid
    er.<init>(ConfigurationProvider.java:109)
    


  •   at org.mybatis.guice.configuration.ConfigurationProvider.class(ConfigurationPr
    ovider.java:39)
      while locating org.mybatis.guice.configuration.ConfigurationProvider
      at org.mybatis.guice.MyBatisModule.internalConfigure(MyBatisModule.java:113) (
    via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.api.migra
    tion.guice.MigrationModule)
      while locating org.apache.ibatis.session.Configuration
        for the 1st parameter of org.mybatis.guice.session.SqlSessionFactoryProvider
    .createNewSqlSessionFactory(SqlSessionFactoryProvider.java:59)
      at org.mybatis.guice.session.SqlSessionFactoryProvider.class(SqlSessionFactory
    Provider.java:26)
      while locating org.mybatis.guice.session.SqlSessionFactoryProvider
      while locating org.apache.ibatis.session.SqlSessionFactory
        for the 1st parameter of org.mybatis.guice.session.SqlSessionManagerProvider
    .createNewSqlSessionManager(SqlSessionManagerProvider.java:49)
      at org.mybatis.guice.session.SqlSessionManagerProvider.class(SqlSessionManager
    Provider.java:24)
      while locating org.mybatis.guice.session.SqlSessionManagerProvider
      at org.mybatis.guice.AbstractMyBatisModule.configure(AbstractMyBatisModule.jav
    a:59) (via modules: io.fusionauth.app.guice.FusionAuthModule -> io.fusionauth.ap
    i.migration.guice.MigrationModule)
      while locating org.apache.ibatis.session.SqlSessionManager
        for field at org.mybatis.guice.transactional.TransactionalMethodInterceptor.
    sqlSessionManager(TransactionalMethodInterceptor.java:56)
      at org.mybatis.guice.AbstractMyBatisModule.bindTransactionInterceptors(Abstrac
    tMyBatisModule.java:79) (via modules: io.fusionauth.app.guice.FusionAuthModule -
    > io.fusionauth.api.migration.guice.MigrationModule)
    41 errors
            at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist
    (Errors.java:554)
            at com.google.inject.internal.InternalInjectorCreator.injectDynamically(
    InternalInjectorCreator.java:180)
            at com.google.inject.internal.InternalInjectorCreator.build(InternalInje
    ctorCreator.java:111)
            at com.google.inject.Guice.createInjector(Guice.java:87)
            at com.google.inject.Guice.createInjector(Guice.java:69)
            at com.google.inject.Guice.createInjector(Guice.java:59)
            at org.primeframework.mvc.guice.GuiceBootstrap.initialize(GuiceBootstrap
    .java:58)
            at com.inversoft.maintenance.MaintenanceModeService.done(MaintenanceMode
    Service.java:67)
            at com.inversoft.maintenance.MaintenanceModeThreadSafeHelper.areWeDoneYe
    t(MaintenanceModeThreadSafeHelper.java:59)
            at com.inversoft.maintenance.MaintenanceModePoller.lambda$new$1(Maintena
    nceModePoller.java:46)
            at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executo
    rs.java:515)
            at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java
    :305)
            at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledF
    utureTask.run(ScheduledThreadPoolExecutor.java:305)
            at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoo
    lExecutor.java:1130)
            at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPo
    olExecutor.java:630)
            at java.base/java.lang.Thread.run(Thread.java:832)
    


  • Ah. It looks like you are using mysql. What is your character set? Here's how to find it: https://stackoverflow.com/questions/1049728/how-do-i-see-what-character-set-a-mysql-database-table-column-is

    If it is not utf8mb4, FusionAuth may function incorrectly. See https://fusionauth.io/community/forum/topic/152/what-happens-if-i-turn-off-database-mysql-enforce-utf8mb4 for more details.

    Alternatives:

    You might do the second option first to ensure that solves your issue. Can you try that and see if that is the problem?



  • Hi,

    Thank you for this i have managed to get past the issue with the database i changed to to postgres SQL and it worked fine, I'm just to figure out if i can ass Exchange 2016 to this application so users are made to get a Auth code before they can logon to exchange.

    Thanks,


Log in to reply