Subject: [iola-conversion-tool] Last Call Bug

From: Cindy Morgan <[email-masked]>
Date: Tue, 21 Feb 2012 14:30:26 -0800

Logged in as a Secretariat User, I tried to send a Last Call for draft-barnes-atoca-delivery, and got this error:

Page: https://trackerbeta.ietf.org/doc/draft-barnes-atoca-delivery/edit/makelastcall/

Error: 

Environment:

Request Method: POST
Request URL: https://trackerbeta.ietf.org/doc/draft-barnes-atoca-delivery/edit/makelastcall/
Django Version: 1.2.7 SVN-3938
Python Version: 2.6.0
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.sitemaps',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'django.contrib.humanize',
 'south',
 'workflows',
 'permissions',
 'ietf.person',
 'ietf.name',
 'ietf.group',
 'ietf.doc',
 'ietf.message',
 'ietf.announcements',
 'ietf.idindex',
 'ietf.idtracker',
 'ietf.ietfauth',
 'ietf.iesg',
 'ietf.ipr',
 'ietf.liaisons',
 'ietf.mailinglists',
 'ietf.meeting',
 'ietf.proceedings',
 'ietf.redirects',
 'ietf.idrfc',
 'ietf.wginfo',
 'ietf.submit',
 'ietf.ietfworkflows',
 'ietf.wgchairs',
 'ietf.wgcharter']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.RemoteUserMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'ietf.middleware.SQLLogMiddleware',
 'ietf.middleware.SMTPExceptionMiddleware',
 'ietf.middleware.RedirectTrailingPeriod',
 'django.middleware.transaction.TransactionMiddleware',
 'ietf.middleware.UnicodeNfkcNormalization')

Traceback:
File "/a/www/ietf-trackerbeta/web/django/core/handlers/base.py" in get_response
  100.                     response = callback(request, *callback_args, **callback_kwargs)
File "/a/home/henrik/tracker/4.00rc1/ietf/ietfauth/decorators.py" in inner
  51.                 return view_func(request, *args, **kwargs)
File "/a/www/ietf-trackerbeta/web/ietf/idrfc/views_ballot.py" in make_last_callREDESIGN
  1354.             msg.related_docs.add(doc)
File "/a/home/henrik/tracker/4.00rc1/django/db/models/fields/related.py" in add
  501.                 self._add_items(self.source_field_name, self.target_field_name, *objs)
File "/a/home/henrik/tracker/4.00rc1/django/db/models/fields/related.py" in _add_items
  573.                 new_ids = new_ids - set(vals)
File "/a/home/henrik/tracker/4.00rc1/django/db/models/query.py" in _result_iter
  105.                 self._fill_cache()
File "/a/home/henrik/tracker/4.00rc1/django/db/models/query.py" in _fill_cache
  783.                     self._result_cache.append(self._iter.next())
File "/a/home/henrik/tracker/4.00rc1/django/db/models/query.py" in iterator
  967.             for row in self.query.get_compiler(self.db).results_iter():
File "/a/home/henrik/tracker/4.00rc1/django/db/models/sql/compiler.py" in results_iter
  677.         for rows in self.execute_sql(MULTI):
File "/a/home/henrik/tracker/4.00rc1/django/db/models/sql/compiler.py" in execute_sql
  732.         cursor.execute(sql, params)
File "/a/home/henrik/tracker/4.00rc1/django/db/backends/util.py" in execute
  15.             return self.cursor.execute(sql, params)
File "/a/home/henrik/tracker/4.00rc1/django/db/backends/mysql/base.py" in execute
  86.             return self.cursor.execute(query, args)
File "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py" in execute
  166.             self.errorhandler(self, exc, value)
File "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py" in defaulterrorhandler
  35.     raise errorclass, errorvalue

Exception Type: DatabaseError at /doc/draft-barnes-atoca-delivery/edit/makelastcall/
Exception Value: (1146, "Table 'ietf_new.message_message_related_docs' doesn't exist")

---

From: Ole Laursen <[email-masked]>
Date: Wed, 22 Feb 2012 18:29:40 +0100

> Page: https://trackerbeta.ietf.org/doc/draft-barnes-atoca-delivery/edit/makelastcall/

Yeah, there's a table missing in the database for some reason, I'm
hoping Henrik can get it fixed?

Ole

---

From: Henrik Levkowetz <[email-masked]>
Date: Wed, 22 Feb 2012 20:33:32 +0100

Hi,

> hoping Henrik can get it fixed?

Looking at this now.  The table exists now, but I can't successfully go to the
URL above.  (I've made myself a secretary in the Secretariat group in order to
look at this.)

Looking at other associated pages, there are some things which seem odd: On
https://trackerbeta.ietf.org/doc/draft-barnes-atoca-delivery/, there's an 'Add'
button, which is overly cryptic.  Add what?  What it seems to do is to edit
some document info.  Ah, it was probably called 'add' earlier because it would
add the document to the 'IDInternal' table.  Ok, should be 'Edit Info' now.

In the form you get to, 'Create in state' should probably be 'IESG State'.

Now how am I supposed to make a last call?  No clues here...  I can look
at the code, of course, but from a testing viewpoint that would be cheating ;-)

Cindy, would you point me in the right direction?

Best regards,

	Henrik

---

From: Cindy Morgan <[email-masked]>
Date: Wed, 22 Feb 2012 12:31:03 -0800

> add the document to the 'IDInternal' table.  Ok, should be 'Edit Info' now.

In the production version of the datatracker, the "Add" button is used to add the document (stateless, or in "I-D Exists") to the list of stuff being tracked by ADs.  Once the document is added, the button changes to "Edit."

(Note that in the middle of looking at this, I started getting Django errors on the Add/Edit page, and suddenly other stuff stopped working as well, like the Advanced Search feature not having the dropdown menus populated even when the corresponding radio button was clicked.  I am hoping that that is because you guys are in the middle of fixing something else and not that these are new bugs.)

(Also, all basic searches are returning "No documents match your query.")

> at the code, of course, but from a testing viewpoint that would be cheating ;-)

Since something is clearly going on with trackerbeta at the moment, I can't do an actual walk-through, but when it was working yesterday, it was pretty much the same as in the production version, which is:

- For docs that have been "added" and are in Publication Requested or higher, on the draft info page (e.g. https://trackerbeta.ietf.org/doc/draft-barnes-atoca-delivery) there is a link for "Last Call Text."  The AD goes there, edits the LC text (if necessary) and clicks on the "Save and Request Last Call" button.

- That sends a ticket to the Secretariat, and moves the document into IESG State "Last Call Requested."  

- The Secretariat goes into the tracker, clicks on the "Last Call Text" link, and then on the resulting page we now have a "Make Last Call" link.  (I believe that the doc needs to be in IESG state "Last Call Requested" for that link to show up.)

- We click on that, it takes us to a new page where we confirm the start and end dates of the Last Call, and then we click on the button or link (I forget which of the top of my head, but it's obvious when you look at it) to send the Last Call Announcement.

> _______________________________________________
> iola-conversion-tool mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/iola-conversion-tool
>

---

From: Ole Laursen <[email-masked]>
Date: Wed, 22 Feb 2012 21:33:44 +0100

> add the document to the 'IDInternal' table.  Ok, should be 'Edit Info' now.

Yeah, we don't really need the Add button from a database point of
view anymore, but there's some special logic involved so I ended up
porting it literally.

Ole

---

From: Henrik Levkowetz <[email-masked]>
Date: Wed, 22 Feb 2012 21:37:58 +0100

Hi Cindy,

> (Also, all basic searches are returning "No documents match your query.")

Yes.  I just a few moment ago sent you a message about this.  It's a result
of re-building the database for UTF-8, and was not intended to take effect
for the running datatracker until I did a reload of the webserver.  However,
it seems Django follows the settings file with particular ardour, or someone
else did a reload of the webserver for other reasons.

Sorry.

Best regards,

	Henrik