All session sets are empty except "default"

I am confused about how sessions work in my current workflow. I don't have multiple annotators, just annotating by myself and not specifying a session name or anything. When I run prodigy stats -ls, I see a bunch of sessions with timestamps corresponding to when I've annotated, but they are all empty! Only the "default" session contains examples. Example (truncated) output:

prodigy stats -ls
...
2019-10-02_14-26-50, 2019-10-07_15-52-50, 2019-10-08_09-14-51,
  2019-10-08_09-15-16, intent-iris-default

$ prodigy stats 2019-10-08_09-15-16

  ✨  Prodigy stats

Version          1.8.3                         
Location         /Users/XYZ/Development/iris-chat-nlp/venv/lib/python3.6/site-packages/prodigy
Prodigy Home     /Users/44097208/.prodigy      
Platform         Darwin-17.7.0-x86_64-i386-64bit
Python Version   3.6.5                         
Database Name    SQLite                        
Database Id      sqlite                        
Total Datasets   17                            
Total Sessions   107                           


  ✨  Dataset '2019-10-08_09-15-16'

Dataset       2019-10-08_09-15-16
Created       2019-10-08 09:15:16
Description   None               
Author        None               
Annotations   0                  
Accept        0                  
Reject        0                  
Ignore        0 

Hi @einarbmag,

Thanks for reporting this problem, I've reproduced it and come up with a fix for the next release.

There was a behavior change in v1.8.0 where the client started passing a dataset-specific "default" session to the API server. The "default" ends up taking precedence over the auto-generated "timestamp" session, and all the annotations get credited to it. Hopefully this is only an aesthetic problem for you because the default/timestamp sessions are usually "nice to have".

The way it is supposed to work is that each time you start a prodigy task it creates a timestamp session, and all answers get credited to that session AND the dataset. However, because there is a default passed from the client the timestamp session isn't used.

The change I've proposed for the next release reverts to the old behavior where no "default" is passed from the client, and the annotations are credited to the timestamp session. If your workflow depends on the timestamp sessions for some reason, let me know and we can find you a workaround.

OK, yeah it seemed like it was unintended behaviour, but I wasn't 100% sure what was going on. Glad it's sorted in the next release! It shouldn't be a problem for me in general, but of course it's going to be good to be able to run experiments and compare by excluding specific sessions.

2 Likes

Just released v1.8.5, which should resolve this issue! :slightly_smiling_face: