DT will not sync the correct number of songs on each playlist
Hey!
So I run DT on my Windows 10 computer and AirSync it to my Google Pixel XL2 android phone.
But lately all my songs do not show up. The songs are there on the phone, but inside the playlist they are not.
Ex - iTunes shows/has 60 songs in Playlist 'Ozzy rules', but after I AirSync, 'Ozzy rules' on my phone only has 7 songs. AirSync returns 1 error. When I look at the log file, it says
{Updating Device playlist 'Ozzy rules' with 7 items. 60 media sync records present}
I've reset the library several times, no luck. I've deleted the files in the 'DoubleTwist' folder on my phone and re-synched, no luck.
Any why does DT create playlists that says 'Recently added' ? Because my iTunes library has 7500 songs, but my playlists only have 1700. I don't want 7500 songs on my phone memory, only my playlist ones....
Here's what the error says:
{ERROR : 05/06/2020 14:01:35: ExecuteDevicePlaylistChanges | insertion
NHibernate.Exceptions.GenericADOException: could not insert: [Dune.SyncEngine.PlaylistSyncRecord][SQL: INSERT INTO PlaylistSyncs (MediaCollectionType, LhsPlaylistId, RhsPlaylistId, LhsCreationDate, LhsModificationDate, RhsCreationDate, RhsModificationDate, PlaylistName, SyncSet) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?); select last_insert_rowid()] ---> System.Data.SQLite.SQLiteException: Abort due to constraint violation
column RhsPlaylistId is not unique
at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt)
at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd)
at NHibernate.Id.IdentityGenerator.InsertSelectDelegate.ExecuteAndExtract(IDbCommand insert, ISessionImplementor session)
at NHibernate.Id.Insert.AbstractReturningDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder)
--- End of inner exception stack trace ---
at NHibernate.Id.Insert.AbstractReturningDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Boolean[] notNull, SqlCommandInfo sql, Object obj, ISessionImplementor session)
at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Object obj, ISessionImplementor session)
at NHibernate.Action.EntityIdentityInsertAction.Execute()
at NHibernate.Engine.ActionQueue.Execute(IExecutable executable)
at NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(Object entity, EntityKey key, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
at NHibernate.Event.Default.AbstractSaveEventListener.PerformSave(Object entity, Object id, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
at NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object entity, String entityName, Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
at NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)
at NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event)
at NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent event)
at NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent event)
at NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent event)
at NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent event)
at NHibernate.Impl.SessionImpl.Save(Object obj)
at Dune.SyncEngine.Synchronizer.<>c__DisplayClass4d.<ExecuteDevicePlaylistChanges>b__3e(ISession session)}
at Dune.SyncEngine.SyncDatabase.Transact(LogicalUnitOfWorkHandler luw)
at Dune.SyncEngine.Synchronizer.ExecuteDevicePlaylistChanges(SyncPlan plan, SyncResult syncResult, ProgressDelegate progress)
-
Official comment
Hello,
Thanks for the posting that error listing. It appears that there is a database problem on your configuration. What you may want to try is to reset the sync database on the device.
https://www.doubletwist.com/help/question/how-do-i-reset-the-sync-database/
Here's a help page on playlist syncing.
https://www.doubletwist.com/help/question/troubleshooting-playlist-syncing/
Please sign in to leave a comment.
Comments
1 comment