ShokoAnime / ShokoServer

Repository for Shoko Server.
http://shokoanime.com/shoko-server/
MIT License
386 stars 75 forks source link

MySQL error with latest daily update after commit 0734e7e #1033

Closed Badskater1 closed 1 year ago

Badskater1 commented 1 year ago

## PLEASE READ BEFORE POSTING YOUR ISSUE

Please create GitHub issues only for bugs and feature requests. If you need help with using Shoko or have a question, join us on Discord.

https://discord.gg/vpeHDsg

===== Guidelines ====

VERSION INFORMATION

Server Version: Latest Daily Docker

Desktop Version: Latest Stable

If you've compiled your own version, please use the last commit you compiled.

LOG FILE

12:38:15| SettingsProvider --- Settings.Import.Hash_MD5: False
12:38:15| SettingsProvider --- Settings.Import.Hash_SHA1: False
12:38:15| SettingsProvider --- Settings.Import.UseExistingFileWatchedStatus: False
12:38:15| SettingsProvider --- Settings.Import.AutomaticallyDeleteDuplicatesOnImport: False
12:38:15| SettingsProvider --- Settings.Import.FileLockChecking: True
12:38:15| SettingsProvider --- Settings.Import.AggressiveFileLockChecking: True
12:38:15| SettingsProvider --- Settings.Import.FileLockWaitTimeMS: 4000
12:38:15| SettingsProvider --- Settings.Import.AggressiveFileLockWaitTimeSeconds: 8
12:38:15| SettingsProvider --- Settings.Import.SkipDiskSpaceChecks: False
12:38:15| SettingsProvider --- Settings.Import.RenameThenMove: False
12:38:15| SettingsProvider --- Settings.Import.RenameOnImport: False
12:38:15| SettingsProvider --- Settings.Import.MoveOnImport: False
12:38:15| SettingsProvider --- Settings.Import.MediaInfoPath: null
12:38:15| SettingsProvider --- Settings.Import.MediaInfoTimeoutMinutes: 5
12:38:15| SettingsProvider --- Settings.Plex.ThumbnailAspects: "Default, 0.6667, IOS, 1.0, Android, 1.3333"
12:38:15| SettingsProvider --- Settings.Plex.Libraries: []
12:38:15| SettingsProvider --- Settings.Plex.Token: ""
12:38:15| SettingsProvider --- Settings.Plex.Server: ""
12:38:15| SettingsProvider --- Settings.Plugins.EnabledPlugins: {}
12:38:15| SettingsProvider --- Settings.Plugins.Priority: []
12:38:15| SettingsProvider --- Settings.Plugins.EnabledRenamers: {}
12:38:15| SettingsProvider --- Settings.Plugins.RenamerPriorities: {}
12:38:15| SettingsProvider --- Settings.Plugins.Settings: []
12:38:15| SettingsProvider --- Settings.Plugins.DeferOnError: False
12:38:15| SettingsProvider --- Settings.AutoGroupSeries: False
12:38:15| SettingsProvider --- Settings.AutoGroupSeriesRelationExclusions: "same setting|character"
12:38:15| SettingsProvider --- Settings.AutoGroupSeriesUseScoreAlgorithm: False
12:38:15| SettingsProvider --- Settings.FileQualityFilterEnabled: False
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.PreferredTypes: ["SOURCE","RESOLUTION","AUDIOSTREAMCOUNT","SUBSTREAMCOUNT","SUBGROUP","CHAPTER","VIDEOCODEC","AUDIOCODEC","VERSION"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.PreferredAudioCodecs: ["flac","dca","aac","ac3","wmav2","wmapro","adpcm_ms","mp3","mp2","vp6f"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.PreferredResolutions: ["2160p","1440p","1080p","720p","480p"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.PreferredSubGroups: ["fffpeeps","doki","commie","horriblesubs"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.PreferredVideoCodecs: ["hevc","h264","mpeg4","vc1","flv","mpeg2","mpeg1","vp6f"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.Prefer8BitVideo: False
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.AllowDeletionOfImportedFiles: False
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.RequiredTypes: ["SOURCE","CHAPTER","VERSION"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.RequiredAudioCodecs.Value: ["flac","dca","aac"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.RequiredAudioStreamCount.Value: 1
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.RequiredResolutions.Value: ["1080p"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.RequiredSources.Value: ["bd","dvd"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.RequiredSubGroups.Value: ["horriblesubs"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.RequiredSubStreamCount.Value: 1
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.RequiredVideoCodecs.Value: ["hevc","h264"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.PreferredSources: ["bd","dvd","tv","www","unknown"]
12:38:15| SettingsProvider --- Settings.FileQualityPreferences.AllowDeletingFilesWithMissingInfo: False
12:38:15| SettingsProvider --- Settings.LanguagePreference: ["x-jat","en"]
12:38:15| SettingsProvider --- Settings.EpisodeLanguagePreference: ""
12:38:15| SettingsProvider --- Settings.LanguageUseSynonyms: True
12:38:15| SettingsProvider --- Settings.CloudWatcherTime: 3
12:38:15| SettingsProvider --- Settings.ImagesPath: null
12:38:15| SettingsProvider --- Settings.TraktTv.Enabled: False
12:38:15| SettingsProvider --- Settings.TraktTv.PIN: ""
12:38:15| SettingsProvider --- Settings.TraktTv.AuthToken: ""
12:38:15| SettingsProvider --- Settings.TraktTv.RefreshToken: ""
12:38:15| SettingsProvider --- Settings.TraktTv.TokenExpirationDate: ""
12:38:15| SettingsProvider --- Settings.UpdateChannel: "Stable"
12:38:15| SettingsProvider --- Settings.Linux.UID: -1
12:38:15| SettingsProvider --- Settings.Linux.GID: -1
12:38:15| SettingsProvider --- Settings.Linux.Permission: 0
12:38:15| SettingsProvider --- Settings.TraceLog: False
12:38:15| SettingsProvider --- Settings.SentryOptOut: False
12:38:15| SettingsProvider --- -------------------------------------------------------
12:38:15| AniDBSocketHandler --- Bound to local address: 0.0.0.0:4556 - Port: 4556 (InterNetwork)
12:38:15| AniDBSocketHandler --- Bound to remote address: 94.130.237.200 : 9000
12:38:15| AniDBUDPConnectionHandler --- starting ping timer...
12:38:15| ServerState --- Starting Server: Cleaning up...
12:38:15| ServerState --- Starting Server: Initializing...
12:38:16| ServerState --- Starting Server: Setting up database...
12:38:16| ShokoServer --- Setting up database...
12:38:16| DatabaseFactory --- Database Connection OK!
12:38:16| BaseDatabase`1 --- SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'shoko'
12:38:16| BaseDatabase`1 --- Found db already exists: "shoko"
12:38:16| DatabaseFactory --- Starting Server: Initializing Session Factory...
12:38:16| ServerState --- Starting Server: Initializing Session Factory...
12:38:17| DatabaseFactory --- Starting Server: Shoko.Server.Databases.MySQL - CreateAndUpdateSchema()
12:38:17| ServerState --- Starting Server: Database - Applying Schema Patches...
12:38:17| ServerState --- Starting Server: Database - Applying Schema Patches...110.2 - ALTER TABLE `AniDB_FileUpdate` ADD INDEX `...
**12:38:17| DatabaseFactory --- DATABASE ERROR: 110.2 ALTER TABLE `AniDB_FileUpdate` ADD INDEX `IX_AniDB_FileUpdate` (`FileSize` ASC, `Hash` ASC) ; | MySql.Data.MySqlClient.MySqlException (0x80004005): BLOB/TEXT column 'Hash' used in key specification without a key length**
   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
   at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
   at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
   at Shoko.Server.Databases.MySQL.Execute(MySqlConnection connection, String command) in /usr/src/app/source/Shoko.Server/Databases/MySQL.cs:line 914
   at Shoko.Server.Databases.MySQL.ExecuteCommand(MySqlConnection connection, String command) in /usr/src/app/source/Shoko.Server/Databases/MySQL.cs:line 900
12:38:17| Utils --- Database Error
12:38:17| ServerState --- Starting Server: Failed to start. Please review database settings.

DESCRIPTION

The latest MySQL commit cause Shoko to be unable to start: [0734e7e] https://github.com/ShokoAnime/ShokoServer/commit/0734e7e957fbc2a6efac27e4d0f2c2d362b980b9

STEPS TO REPRODUCE

Update to latest daily with latest mysql (MySQL Server 8.0.31-1.el8)

da3dsoul commented 1 year ago

Pushed a fix. Restore the database backup or use this:

ALTER TABLE AniDB_FileUpdate MODIFY COLUMN Hash varchar(50) NOT NULL;