It seems that due to a recent change the rev_multilink feature is broken.
These are injected into the database structure during initialization.
My current guess is that it no longer works after the change
6514:a036712c96f4
Enable HTTP/1.1 support for roundup-server
The behavior is very peculiar: On the first request everything is fine,
the multilinks I have are named 'planning_role' and 'vie_user_ml'.
When I set a breakpoint in a function called from a html template on
the first request I'm getting the full list:
(Pdb) p sorted(db._db.user.properties.keys())
['ad_domain', 'address', 'alternate_addresses', 'business_responsible', 'clearance_by', 'contacts', 'csv_delimiter', 'department_temp', 'entry_date', 'firstname', 'guid', 'hide_message_files', 'job_description', 'lastname', 'lunch_duration', 'lunch_start', 'nickname', 'password', 'pictures', 'planning_role', 'position_text', 'queries', 'realname', 'reduced_activity_list', 'roles', 'room', 'scale_seniority', 'sex', 'status', 'subst_active', 'substitute', 'supervisor', 'sync_foreign_key', 'timetracking_by', 'timezone', 'timing_info', 'tt_lines', 'username', 'vie_user', 'vie_user_bl_override', 'vie_user_ml']
In a subsequent request I'm getting:
(Pdb) p sorted(db._db.user.properties.keys())
['ad_domain', 'address', 'alternate_addresses', 'business_responsible', 'clearance_by', 'contacts', 'csv_delimiter', 'department_temp', 'entry_date', 'firstname', 'guid', 'hide_message_files', 'job_description', 'lastname', 'lunch_duration', 'lunch_start', 'nickname', 'password', 'pictures', 'position_text', 'queries', 'realname', 'reduced_activity_list', 'roles', 'room', 'scale_seniority', 'sex', 'status', 'subst_active', 'substitute', 'supervisor', 'sync_foreign_key', 'timetracking_by', 'timezone', 'timing_info', 'tt_lines', 'username', 'vie_user', 'vie_user_bl_override']
Note that the mentioned properties are missing.
When I let the webserver time out and issue a new request, the rev_multilink properties are there again.
So it looks like somewhere in the re-use of html connections the database is not
fully set up like when it is initialized from scratch. I'm looking into this now. |