Web design, programming, graphics, and pretty much anything else I care about.

Report DB version in status report

When I change a field setting, primarily one of the select boxes on admin/structure/types/manage/article/display, the selected option in the form always reverts back to the original value. The setting does get changed, but when the form refreshes it reverts back. pwolanin witnesses the behavior with me. It is not browser related as it happens on every client computer and every browser. I also used web scarab to intercept the server responses and see that it is indeed returning cached values. The ajax update that occurs when the select box is changed sends the correct value, and the server response shows the correct value, but when "Save" is clicked, the response sent back has the cached value.

I stepped down through the code to _field_info_collate_fields in field.info.inc. The line (187)

<?php
if ($cached = cache_get('field_info_fields', 'cache_field')) {
?>

always evaluates true. When I go through the cache system, I find calls for cache variables that I don't have set. And there is nothing in the cache_field table.

I have a default install of 7.x-dev. I also have the problem in alpha6. It is a clean install, right out of the box, with a new database. Nothing has been changed after the install, including adding or removing modules. I've also installed it more than once, and this problem exists right out of the box.

The form shows the correct value when I log out and then log back in. Navigating away from the page, and reloading it does not help. This happens with and without the overlay.

Setup:
7.x-dev, 7.0-alpha6
Red Hat Enterprise Linux 5 server
PHP 5.2.10
MySQL 5.1.30

Posted issue http://drupal.org/node/875674 .

As it turns out it is a MySQL query cache issue. There was a known bug with the in between version (not dev) of MySQL we are using. Disabling the query cache does fix it, but not something I probably want as a solution. I'll have to wait until RHEL WAS updates MySQL.