[Kde-pim] Question: Akonadi::TransactionSequence

Kevin Krammer kevin.krammer at gmx.at
Wed Jan 23 21:44:56 GMT 2008


On Wednesday 23 January 2008, Kevin Krammer wrote:
> On Wednesday 23 January 2008, Volker Krause wrote:
> > No, that's actually a known issue in Akonadi. ItemDeleteJob uses
> > transactions internally as well, but the server can't handle cascaded
> > transactions yet, libakonadi/itemsync.cpp has the same problem. As a
> > workaround, you can use Job instead of TransactionSequence, this requires
> > only minimal code changes since Job is a KCompositeJob already. Compared
> > to TransactionSequence this has the obvious drawback of not being atomic
> > as well as being considerably slower.
>
> Ah, ok. So I tried the worst possible case right at the first attempt ;)
>
> I am currently mostly interested in the queueing so I'll try Akonadi::Job
> for now.

Hmm, I am still having problems.
First I replaced TransactionSequence with just Job as the base class for my 
SaveSequence class.
Then I tried adding a new contact (thus also avoiding the ItemDeleteJob), so 
the first sub jobs is an ItemAppendJob, followed by a number of 
ItemStoreJobs.

But this produced the following:

kabcclient(27122)/libakonadi Akonadi::SessionPrivate::jobDone: 
Akonadi::ItemAppendJob(0x8137c88) Non-current job finished. Current 
Akonadi::Job(0x81367c8)

kabcclient(27122)/libakonadi Akonadi::SessionPrivate::jobDone: 
Akonadi::ItemStoreJob(0x8133be0) Non-current job finished. Current 
Akonadi::Job(0x81367c8)

kabcclient(27122)/kdepimlibs (kabc): Save Sequence failed: "Unknown Error. (NO 
Item was modified elsewhere, aborting STORE.
)"
Saving modifications to addressbook failed

kabcclient(27122)/kresources KRES::ManagerImpl::~ManagerImpl: 
ManagerImpl::~ManagerImpl()
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = kabcclient path = <unknown> pid = 27122
sock_file=/home/kevin/.kde4/socket-artemis/kdeinit4__0
KCrash cannot reach kdeinit, launching directly.

(backtrace attached)

Cheers,
Kevin

-- 
Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring
-------------- next part --------------
Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb5e0b6c0 (LWP 27122)]
[KCrash handler]
#5  0x004d007e in ?? ()
#6  0xb7adff2c in KJob::kill (this=0x8137c88, verbosity=KJob::EmitResult)
    at /dvl/kde/trunk/kdelibs/kdecore/jobs/kjob.cpp:106
#7  0xb590a9f9 in Akonadi::Session::clear (this=0x81024f8)
    at /dvl/kde/trunk/kdepim/akonadi/libakonadi/session.cpp:255
#8  0xb590ab1c in ~Session (this=0x81024f8)
    at /dvl/kde/trunk/kdepim/akonadi/libakonadi/session.cpp:216
#9  0xb590c8bd in QThreadStorage<Akonadi::Session*>::deleteData (x=0x81024f8)
    at /dvl/kde/trunk/install/include/QtCore/qthreadstorage.h:128
#10 0xb7c592b5 in QThreadStorageData::finish (p=0x806ae44)
    at thread/qthreadstorage.cpp:160
#11 0xb7d14beb in ~QCoreApplicationPrivate (this=0x8075140)
    at kernel/qcoreapplication.cpp:214
#12 0xb7258c96 in ~QApplicationPrivate (this=0x8075140)
    at kernel/qapplication.cpp:131
#13 0xb7d27e7f in ~QObject (this=0xbf8de0f0) at kernel/qobject.cpp:851
#14 0xb7d15214 in ~QCoreApplication (this=0xbf8de0f0)
    at kernel/qcoreapplication.cpp:480
#15 0xb7258bb5 in ~QApplication (this=0xbf8de0f0)
    at kernel/qapplication.cpp:997
#16 0xb6efdbc7 in ~KApplication (this=0xbf8de0f0)
    at /dvl/kde/trunk/kdelibs/kdeui/kernel/kapplication.cpp:914
#17 0x0805417b in main (argc=5, argv=0xbf8de3f4)
    at /dvl/kde/trunk/kdepim/console/kabcclient/src/main.cpp:258
#0  0xb7fb2410 in __kernel_vsyscall ()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20080123/517ba43e/attachment.sig>
-------------- next part --------------
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/


More information about the kde-pim mailing list