Closed t0815 closed 8 years ago
This is something we'd like to know.... Run it again and post the log for it.
alright, i did recreate them. I was able to reproduce the error too. In log there was indeed an exception during group recreation:
Server-Log: 2016-10-27.txt
@pmcleish tagging so you'll see it I'll look at it and see if it's simple
[2016-10-27 18:32:44:220] Error|JMMServiceImplementation.RecreateAllGroups
=> AnimeGroupCreator.RecreateAllGroups =>
AnimeGroupCreator.RecreateAllGroups An error occurred while re-creating all
groups
[2016-10-27 18:32:44:236] Error|SyncMethodInvoker.Invoke => <no
type>.SyncInvokeRecreateAllGroups =>
JMMServiceImplementation.RecreateAllGroups System.AggregateException: One
or more errors occurred. ---> System.ArgumentNullException: Value cannot be
null.
Parameter name: parentImage
at
JMMServer.Repositories.DefaultAnimeImage..ctor(AniDB_Anime_DefaultImage
aniDbImage, IImageEntity parentImage) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Repositories\Cached\AniDB_AnimeRepository.cs:line
303
at
JMMServer.Repositories.AniDB_AnimeRepository.GetDefaultImagesByAnime(ISessionWrapper
session, Int32[] animeIds) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Repositories\Cached\AniDB_AnimeRepository.cs:line
217
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at JMMServer.Entities.AnimeSeries.BatchUpdateContracts(ISessionWrapper
session, IReadOnlyCollection`1 seriesBatch, Boolean onlyStats) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Entities\AnimeSeries.cs:line 677
at
JMMServer.Tasks.AnimeGroupCreator.<>c.<UpdateAnimeSeriesContractsAndSave>b__15_1(AnimeSeries[]
seriesBatch, ParallelLoopState state, IStatelessSession localSession) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Tasks\AnimeGroupCreator.cs:line
112
at
System.Threading.Tasks.Parallel.<>c__DisplayClass42_0`2.<PartitionerForEachWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at
System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object
)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean
includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,
CancellationToken cancellationToken)
at
System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1
source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2
bodyWithState, Action`3 bodyWithStateAndIndex, Func`4
bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit,
Action`1 localFinally)
at
System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1
source, ParallelOptions parallelOptions, Action`1 body, Action`2
bodyWithState, Action`3 bodyWithStateAndIndex, Func`4
bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit,
Action`1 localFinally)
at System.Threading.Tasks.Parallel.ForEach[TSource,TLocal](IEnumerable`1
source, ParallelOptions parallelOptions, Func`1 localInit, Func`4 body,
Action`1 localFinally)
at
JMMServer.Tasks.AnimeGroupCreator.UpdateAnimeSeriesContractsAndSave(ISessionWrapper
session, IReadOnlyCollection`1 series) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Tasks\AnimeGroupCreator.cs:line
116
at JMMServer.Tasks.AnimeGroupCreator.RecreateAllGroups(ISessionWrapper
session) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Tasks\AnimeGroupCreator.cs:line
460
at JMMServer.Tasks.AnimeGroupCreator.RecreateAllGroups() in
F:\Projects\ThirdParty\jmmserver\JMMServer\Tasks\AnimeGroupCreator.cs:line
475
at JMMServer.JMMServiceImplementation.RecreateAllGroups(Boolean resume)
in
F:\Projects\ThirdParty\jmmserver\JMMServer\JMMServiceImplementation.cs:line
7995
---> (Inner Exception #0) System.ArgumentNullException: Value cannot be
null.
Parameter name: parentImage
at
JMMServer.Repositories.DefaultAnimeImage..ctor(AniDB_Anime_DefaultImage
aniDbImage, IImageEntity parentImage) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Repositories\Cached\AniDB_AnimeRepository.cs:line
303
at
JMMServer.Repositories.AniDB_AnimeRepository.GetDefaultImagesByAnime(ISessionWrapper
session, Int32[] animeIds) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Repositories\Cached\AniDB_AnimeRepository.cs:line
217
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at JMMServer.Entities.AnimeSeries.BatchUpdateContracts(ISessionWrapper
session, IReadOnlyCollection`1 seriesBatch, Boolean onlyStats) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Entities\AnimeSeries.cs:line 677
at
JMMServer.Tasks.AnimeGroupCreator.<>c.<UpdateAnimeSeriesContractsAndSave>b__15_1(AnimeSeries[]
seriesBatch, ParallelLoopState state, IStatelessSession localSession) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Tasks\AnimeGroupCreator.cs:line
112
at
System.Threading.Tasks.Parallel.<>c__DisplayClass42_0`2.<PartitionerForEachWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at
System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object
)<---
---> (Inner Exception #1) System.ArgumentNullException: Value cannot be
null.
Parameter name: parentImage
at
JMMServer.Repositories.DefaultAnimeImage..ctor(AniDB_Anime_DefaultImage
aniDbImage, IImageEntity parentImage) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Repositories\Cached\AniDB_AnimeRepository.cs:line
303
at
JMMServer.Repositories.AniDB_AnimeRepository.GetDefaultImagesByAnime(ISessionWrapper
session, Int32[] animeIds) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Repositories\Cached\AniDB_AnimeRepository.cs:line
217
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at JMMServer.Entities.AnimeSeries.BatchUpdateContracts(ISessionWrapper
session, IReadOnlyCollection`1 seriesBatch, Boolean onlyStats) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Entities\AnimeSeries.cs:line 677
at
JMMServer.Tasks.AnimeGroupCreator.<>c.<UpdateAnimeSeriesContractsAndSave>b__15_1(AnimeSeries[]
seriesBatch, ParallelLoopState state, IStatelessSession localSession) in
F:\Projects\ThirdParty\jmmserver\JMMServer\Tasks\AnimeGroupCreator.cs:line
112
at
System.Threading.Tasks.Parallel.<>c__DisplayClass42_0`2.<PartitionerForEachWorker>b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at
System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object
)<---
EDIT: apparently email replies don't support code blocks
As a quick look, either I've messed up the query in AniDB_AnimeRepository.GetDefaultImagesByAnime (e.g. I'm joining on the wrong column, or I got the image type wrong), or the ImageParentType is set to a value that isn't correct.
I'll try and replicate it shortly. There are a couple of possible "fixes" if the data is causing the issue which are pretty easy. Or, if the query is incorrect, then that should be pretty simple to fix as well.
I know I can't reproduce it, but that prolly just means my db doesn't hit the edge case, or through my excessive regeneration of contracts, values that may not always have filled had been filled.
Should be fixed in #498
tested. But still fails. This time due to an SQL error:
[2016-10-28 15:50:00:647] Info|JMMServiceImplementation.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups Beginning re-creation of all groups
[2016-10-28 15:50:00:653] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.ClearGroupsAndDependencies Removing existing AnimeGroups and resetting GroupFilters
[2016-10-28 15:50:00:732] Warn|BackgroundWorker.OnDoWork => CommandProcessorImages.workerCommands_DoWork => CommandRequest_DownloadImage.ProcessCommand Error processing CommandRequest_DownloadImage: https://walter.trakt.us/images/shows/000/102/282/fanarts/original/17ed474469.jpg (618) - The remote server returned an error: (403) Forbidden.
[2016-10-28 15:50:01:097] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.ClearGroupsAndDependencies AnimeGroups have been removed and GroupFilters have been reset
[2016-10-28 15:50:01:113] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.CreateGroupPerSeries Generating AnimeGroups for 1836 AnimeSeries
[2016-10-28 15:50:01:964] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.CreateGroupPerSeries Generated 1836 AnimeGroups
[2016-10-28 15:50:01:964] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeSeriesContractsAndSave Updating contracts for AnimeSeries
[2016-10-28 15:50:06:089] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeSeriesContractsAndSave AnimeSeries contracts have been updated
[2016-10-28 15:50:06:724] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeGroupsAndTheirContracts Updating statistics and contracts for AnimeGroups
[2016-10-28 15:50:19:181] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeGroupsAndTheirContracts AnimeGroup statistics and contracts have been updated
[2016-10-28 15:50:19:182] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeGroupsAndTheirContracts Creating AnimeGroup_Users and updating plex/kodi contracts
[2016-10-28 15:50:37:154] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeGroupsAndTheirContracts AnimeGroup_Users have been created
[2016-10-28 15:50:38:012] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateGroupFilters Updating Group Filters
[2016-10-28 15:51:23:012] Error|JMMServiceImplementation.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups An error occurred while re-creating all groups
[2016-10-28 15:51:24:531] Error|SyncMethodInvoker.Invoke => <no type>.SyncInvokeRecreateAllGroups => JMMServiceImplementation.RecreateAllGroups NHibernate.Exceptions.GenericADOException: could not execute query
[ SELECT DISTINCT grpFilter.GroupFilterID, grp.AnimeGroupID
FROM AnimeGroup grp
INNER JOIN AnimeSeries series
ON series.AnimeGroupID = grp.AnimeGroupID
INNER JOIN AniDB_Anime_Tag anidbTag
ON anidbTag.AnimeID = series.AniDB_ID
INNER JOIN AniDB_Tag tag
ON tag.TagID = anidbTag.TagID
INNER JOIN GroupFilter grpFilter
ON grpFilter.GroupFilterName = tag.TagName
AND grpFilter.FilterType = ?p0
ORDER BY grpFilter.GroupFilterID, grp.AnimeGroupID ]
Name:tagType - Value:16
[SQL: SELECT DISTINCT grpFilter.GroupFilterID, grp.AnimeGroupID
FROM AnimeGroup grp
INNER JOIN AnimeSeries series
ON series.AnimeGroupID = grp.AnimeGroupID
INNER JOIN AniDB_Anime_Tag anidbTag
ON anidbTag.AnimeID = series.AniDB_ID
INNER JOIN AniDB_Tag tag
ON tag.TagID = anidbTag.TagID
INNER JOIN GroupFilter grpFilter
ON grpFilter.GroupFilterName = tag.TagName
AND grpFilter.FilterType = ?p0
ORDER BY grpFilter.GroupFilterID, grp.AnimeGroupID] ---> MySql.Data.MySqlClient.MySqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.TimeoutException: Timeout in IO operation
at MySql.Data.MySqlClient.TimedStream.StopTimer()
at MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, 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)
--- End of inner exception stack trace ---
at MySql.Data.MySqlClient.ExceptionInterceptor.Throw(Exception exception)
at MySql.Data.MySqlClient.MySqlConnection.HandleTimeoutOrThreadAbort(Exception ex)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, Boolean autoDiscoverTypes, Boolean callable, RowSelection selection, ISessionImplementor session)
at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies, IResultTransformer forcedResultTransformer)
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
--- End of inner exception stack trace ---
at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters, IResultTransformer forcedResultTransformer)
at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Impl.StatelessSessionImpl.ListCustomQuery(ICustomQuery customQuery, QueryParameters queryParameters, IList results)
at NHibernate.Impl.AbstractSessionImpl.List(NativeSQLQuerySpecification spec, QueryParameters queryParameters, IList results)
at NHibernate.Impl.AbstractSessionImpl.List[T](NativeSQLQuerySpecification spec, QueryParameters queryParameters)
at NHibernate.Impl.SqlQueryImpl.List[T]()
at JMMServer.Repositories.Cached.GroupFilterRepository.CalculateAnimeGroupsPerTagGroupFilter(ISessionWrapper session)
at JMMServer.Tasks.AnimeGroupCreator.UpdateGroupFilters(ISessionWrapper session)
at JMMServer.Tasks.AnimeGroupCreator.RecreateAllGroups(ISessionWrapper session)
at JMMServer.Tasks.AnimeGroupCreator.RecreateAllGroups()
at JMMServer.JMMServiceImplementation.RecreateAllGroups(Boolean resume)
ADD: hm, i just see its a timeout exception. Strange, just to be sure, i will retry this. ADD 2: Ah. tnx, was wondering how to do this blocks without the spacing between lines :)
Can you add 3 ` and a return before and after that log block
I will test this again now, just to be sure. I have to say, i got quite a large DB too ~2k Series. So maybe the time the SQL takes to too long, because the amount of rows to fetch and process.
Hm, did retry it, but ran into same issue and same SQL error.
ADD: Full log:
ADD 2: I will test that query in SQL client, and report back the time it takes to execute. Hm, or maybe not. I dont know what to set for param ?p0 -> group filter type, i would need to try them all i guess....
by chance, i got a heavy query already: with filtertype 16, it took 35 sec to execute that query. I will try some more.
ADD: the above query with group-filter id 16 generates 83k results.
We might need to increase the wait time for it up to about 2 minutes
ON grpFilter.GroupFilterName = tag.TagName
There is a join on Text data, which is not very fast - but i found there is an index missing on Table Anidb_tag.TagName. Maybe with an index there, it might be a bit faster. I will add one, and test again.
ADD: nvm, no speed improvement, even with index there.
Ah OK it was a good idea, but string ordinal equality isn't really slow
Yea. Only if there had been a LIKE search or something. :)
I just tested that query in MySQL (It works fine in SQL Server and SQLite when I tested) and it is indeed a lot slower. I added the following index:
CREATE INDEX IX_groupfilter_GroupFilterName ON groupfilter (GroupFilterName);
And the query executes pretty much instantaneous for me (My test database has 1123 series).
Can someone else verify?
I've also just ran the Recreate All Groups operation and it executed successfully in about 20 second (with the above index), so assuming linear timings, 2000+ series might take about 40s or so for MySQL. From my testing, I've found that both SQL Server and SQLite seem to get the job done in about half the time compared to MySQL (not sure why).
Hm, that is strange. I'm running MariaDB 10.1.17 and the query takes roughly 30s. I will try mySQL Server now.
Keep in mind we don't officially support MariaDB so it's possible your error is related to it.
@t0815 Is that 30s with or without the index I mentioned?
@pmcleish even with index. I did uninstall MariaDB and installed mySQL, setting everything up again. Then retest this. I'll report back when finished.
oh my. with latest mySQL 5.6 the query takes even longer lol. Whooping 50s. GroupFilterName already had an index (Fulltext).
ok, i did re-add the index on Anidb_tag.TagName, and i got it down to 17s now.
As i see it, the GroupFilterName field can only have Fulltext-Index, because of its field length. When i apply normal index i get an error:
[SQL]CREATE INDEX IX_groupfilter_GroupFilterName ON groupfilter (GroupFilterName);
[Err] 1071 - Specified key was too long; max key length is 767 bytes
Field length is 500, which is too long for normal BTREE index in mySQL. I did shorten it to 255 bytes, and did add BTREE normal index.
Now query takes 0.8s !
so i guess to sum this up, for mySQL to run this query in satisfying times you would need to:
Ah, I've found out why the index worked fine for me with the 500 char length. It seems I have the innodb_large_prefix option enabled which allows up to 3072 bytes for index prefixes (I rarely use mySQL, so wasn't aware of the limits).
@ElementalCrisis Can you see any potential issues with changing the GroupFilter.GroupFilterName column to be say 300 chars? (The longest anime title in my DB is 139 chars). Another possible option is that mySQL supports index prefixes which allows you to index just the first N chars of a string. This would allow retaining the current column size and have an index that has a shorter length than the limit. If we go with the column resize, we'd have to apply schema updates to all 3 supported databases to keep them in sync. If we go with the prefix limited index, we'd only need a schema update for mySQL. Let me know which option you'd prefer and I can go ahead and add the schema update.
@pmcleish : only quick heads up, even 300 chars would be too much, since its UTF-8, so each char is 3 bytes long (300 x 3 > 767) therefore won't fit either, :) .
Thanks for that. I'm used to MS SQL Server which has 2 bytes per NCHAR. I'll have to figure out how to turn off the innodb_large_prefix option to make sure I get it right. In which case 250 is a nice round number and should be more than large enough.
@pmcleish Whatever option you think is best I'd say go for it. We just need to make sure that our solution won't cause any issues in the future.
I also looked in my DB and the longest title I have (in Romaji) is a Dragon Ball Z movie
Any input @maxpiva?
I'll going to reopen this until it is verified 'fixed' by @t0815
Tested, issue resolved.
[2016-10-30 08:28:05:789] Info|JMMServiceImplementation.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups Beginning re-creation of all groups
[2016-10-30 08:28:05:789] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.ClearGroupsAndDependencies Removing existing AnimeGroups and resetting GroupFilters
[2016-10-30 08:28:06:208] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.ClearGroupsAndDependencies AnimeGroups have been removed and GroupFilters have been reset
[2016-10-30 08:28:06:226] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.CreateGroupPerSeries Generating AnimeGroups for 1833 AnimeSeries
[2016-10-30 08:28:11:498] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeSeriesContractsAndSave AnimeSeries contracts have been updated
[2016-10-30 08:28:12:148] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeGroupsAndTheirContracts Updating statistics and contracts for AnimeGroups
[2016-10-30 08:28:24:284] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeGroupsAndTheirContracts AnimeGroup statistics and contracts have been updated
[2016-10-30 08:28:24:284] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeGroupsAndTheirContracts Creating AnimeGroup_Users and updating plex/kodi contracts
[2016-10-30 08:28:37:731] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateAnimeGroupsAndTheirContracts AnimeGroup_Users have been created
[2016-10-30 08:28:38:566] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateGroupFilters Updating Group Filters
[2016-10-30 08:28:45:681] Info|AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.RecreateAllGroups => AnimeGroupCreator.UpdateGroupFilters Group Filters updated
hi there,
ive got a strange issue with current dev/master. All groups are gone after i did recreate them. I do assume it's a caching problem, since they are still present in DataBase.
Table content:
ADD: altho, i did try to restart jmm-server, but the groups where still gone. After i restored a backup, the groups are back again.