Futon не показывает записей, а консоль CouchDB показывает все записи. - PullRequest
2 голосов
/ 23 июня 2011

Похоже, что Futon (веб-администратор CouchDB, доступный на http://:5984/_utils) каким-то образом кэширует информацию о данных, хранящихся в базе данных CouchDB.

На самом деле я не знаю, как и почему.

Если я заполняю существующую базу данных ~ 150 000 записей (через PHP-скрипт на сервере), Futon по-прежнему показывает 0 записей.Если я добавлю некоторые записи через сам Futon, Futon покажет их, но все равно не покажет все записи.

Похоже, что Futon использует разные хранилища для каждого клиента.Но само создание, удаление и переименование баз данных отображаются с обеих сторон (Futon & console).

Ответы [ 3 ]

2 голосов
/ 23 июня 2011

Это совсем не нормальное поведение.Многие люди используют Futon каждый день и ожидают хорошего поведения.

Если вы веб-разработчик и не думаете, что это просто кеш браузера, тогда я советую вам изучить точно что такоеРазница между PHP и браузером запросов.Вы, вероятно, обнаружите большую подсказку.Вы можете начать с просмотра журналов CouchDB и подтверждения того, что браузер и консоль и запрашивают один и тот же дб.или Чарльз прокси.Если возможно, мне нравится собирать данные на сервере, чтобы исключить (не) прозрачный прокси.

ИМХО, вы с вероятностью 1% обнаружите неясную ошибку Futon и с вероятностью 99% найдете расхождение междузапросы.Например, использование другого заголовка Host приведет к применению различных правил vhost, которые могут обращаться к совершенно другой базе данных.

0 голосов
/ 05 апреля 2017

В моем случае это был Nginx раздел конфигурации proxy_buffers почему Футон не показывает никаких данных.

Я меняю свой конфиг так:

proxy_buffers 4 1024k;
proxy_buffer_size 1024k;
0 голосов
/ 22 октября 2014

Просто перезагрузите процесс couchdb (couchdb -k; couchdb -b), и вы увидите все недостающие данные, когда снова откроете Futon.

Обратите внимание, что причина этого исправления не в том, что вы сбрасываете базу данных, а в том, что вы сбрасываете Futon (если есть команда просто сбросить Futon, пожалуйста, дайте мне знать, и я протестирую). Скорее всего, ваш PHP-скрипт создает экземпляр, похожий на клиент Futon, и они не будут признавать изменения друг друга (я обнаружил, что это как минимум для создания баз данных и добавления документов).

Обратите внимание, что эта проблема возникла только у меня, когда я разместил свое приложение на веб-сервере. В этом случае вызовы из Futon, похоже, поступают с публичного адреса, тогда как вызовы из моего приложения поступают из 127.0.0.1 (в /etc/couchdb/local.ini у меня bind_address = 0.0.0.0). Когда я развивался локально, у меня никогда не было этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...