Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mongo::Error::OperationFailure: exception: Btree::insert: key too large to index, failing errbit.problems.$message_1 1267 #1233

Closed
hoffi opened this issue Oct 20, 2017 · 3 comments
Labels
Milestone

Comments

@hoffi
Copy link

hoffi commented Oct 20, 2017

Looks like the same issue as #1001.

We got the error:

Mongo::Error::OperationFailure: exception: Btree::insert: key too large to index, failing errbit.problems.$message_1 1267

for an exception with a very long (> 1000 chars) message. Stacktrace is:

app/models/problem.rb:82 → cache_notice
app/models/error_report.rb:80 → cache_attributes_on_problem
app/models/error_report.rb:58 → generate_notice!
app/controllers/notices_controller.rb:15 → create

We are on commit 422d583 with Ruby 2.2.5

@stevecrozz
Copy link
Member

Thanks for the report. So far I haven't been able to reproduce this in a unit test because saving a notice truncates its message and that happens before the cache_notice method is called. That's the way its supposed to work. I'll try calling it in a real environment soon with a big notice. If you're able to write a failing unit test that could help a lot, but I'm sure I can figure it out eventually either way :)

@hoffi
Copy link
Author

hoffi commented Oct 23, 2017

Hi i also tried to reproduce it with a clean install. It only seem to fail with a special message.
In my case:

Elasticsearch::Transport::Transport::Errors::InternalServerError: [500] {"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[abc][test][0]: QueryPhaseExecutionException[[test][0]: query[function score (_all:t4t44äöäöäööäöäöäöäöäälüöläpläfdälfäpdlsfaäpldspsadpfäsdkfasdöäkfadsökfjaädsfjsdaäfjadsklfldslsäfjkläsdajfläaslhfldskhfasljdhfl44444t44t4t4t4t44t4444tt444tt4þt444t4gt4t444t44t444g4444t4g44g4tt444g4444tgt444ggþ444þ4t4þ4t44444t4444g4444t44gþt4t4tþg4t44t4t4444gt44t444t4t4t444tt44t44þt4t4þt4444444þgþ4tt4t4g444gt4t4t444þ44g4t44g4tgþ4t4t444t4þþ444t44t4t44~2,function=script[_score * _source.boost], params [null])],from[0],size[10]: Query Failed [Failed to execute main query]]; nested: RuntimeException[org.apache.lucene.util.automaton.TooComplexToDeterminizeException: Determinizing automaton would result in more than 10000 states.]; nested: TooComplexToDeterminizeException[Determinizing automaton would result in more than 10000 states.]; }]","status":500}

However this message (also over 1000 chars) does work:

Elasticsearch::Transport::Transport::Errors::InternalServerError: [500] {"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[abc][test][0]: QueryPhaseExecutionException[[test][0]: query[function score (_all:TEST123TESTÖÄÜþLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, conset~2,function=script[_score * _source.boost], params [null])],from[0],size[10]: Query Failed [Failed to execute main query]]; nested: RuntimeException[org.apache.lucene.util.automaton.TooComplexToDeterminizeException: Determinizing automaton would result in more than 10000 states.]; nested: TooComplexToDeterminizeException[Determinizing automaton would result in more than10000 states.]; }]","status":500}

And this one fails:

Elasticsearch::Transport::Transport::Errors::InternalServerError: [500] {"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[abc][test][0]: QueryPhaseExecutionException[[test][0]: query[function score (_all:TEST123TESTÖÄÜLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam eraþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþt, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor þþþsit amet. Lorem ipsum dolor sit amet, conset44~2,function=script[_score * _source.boost], params [null])],from[0],size[10]: Query Failed [Failed to execute main query]]; nested: RuntimeException[org.apache.lucene.util.automaton.TooComplexToDeterminizeException: Determinizing automaton would result in more than 10000 states.]; nested: TooComplexToDeterminizeException[Determinizing automaton would

Seems like it has something to do with this "þ" in the error messages.

@hoffi
Copy link
Author

hoffi commented Oct 24, 2017

I can reproduce it in a unit test if you change the long_message variable inside the unit test in spec/models/notice_spec.rb to one of the problematic messages from my last comment.

Example:

let(:long_es_message) do
  'Elasticsearch::Transport::Transport::Errors::InternalServerError: ' \
  '[500] {"error":"SearchPhaseExecutionException[Failed to execute phase ' \
  '[query_fetch], all shards failed; shardFailures {[abc][test][0]: ' \
  'QueryPhaseExecutionException[[test][0]: query[function score ' \
  '(_all:t4t44äöäöäööäöäöäöäöäälüöläpläfdälfäpdlsfaäpldspsadpfäsdkfasdö' \
  'äkfadsökfjaädsfjsdaäfjadsklfldslsäfjkläsdajfläaslhfldskhfasljdhfl444' \
  '44t44t4t4t4t44t4444tt444tt4þt444t4gt4t444t44t444g4444t4g44g4tt444g44' \
  '44tgt444ggþ444þ4t4þ4t44444t4444g4444t44gþt4t4tþg4t44t4t4444gt44t444t' \
  '4t4t444tt44t44þt4t4þt4444444þgþ4tt4t4g444gt4t4t444þ44g4t44g4tgþ4t4t4' \
  '44t4þþ444t44t4t44~2,function=script[_score * _source.boost], params ' \
  '[null])],from[0],size[10]: Query Failed [Failed to execute main ' \
  'query]]; nested: RuntimeException[org.apache.lucene.util.automaton.' \
  'TooComplexToDeterminizeException: Determinizing automaton would ' \
  'result in more than 10000 states.]; nested: TooComplexToDeterminize' \
  'Exception[Determinizing automaton would result in more than 10000 ' \
  'states.]; }]","status":500}'
end

it 'truncates the long es message' do
  notice = Fabricate(:notice, message: long_es_message)
  expect(long_es_message.length).to be > 1000
  expect(notice.message.length).to eq 1000
end
$ bundle exec rspec spec/models/notice_spec.rb
Randomized with seed 7446
....F................

Failures:

  1) Notice#message= truncates the long es message
     Failure/Error: notice = Fabricate(:notice, message: long_es_message)
     Mongo::Error::OperationFailure:
       exception: Btree::insert: key too large to index, failing errbit_test.problems.$message_1 1060 { : "Elasticsearch::Transport::Transport::Errors::InternalServerError: [500] {"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch],..." } (17280)
     # ./app/models/problem.rb:82:in `cache_notice'
     # ./spec/fabricators/notice_fabricator.rb:12:in `block (2 levels) in <top (required)>'
     # ./spec/models/notice_spec.rb:52:in `block (3 levels) in <top (required)>'

Finished in 0.69611 seconds (files took 3.62 seconds to load)
21 examples, 1 failure

Failed examples:

rspec ./spec/models/notice_spec.rb:51 # Notice#message= truncates the long es message

@rud rud added the bug label Jul 26, 2018
@stevecrozz stevecrozz added this to the 0.8.0 milestone Sep 23, 2019
scicco pushed a commit to thefoolsrl/errbit that referenced this issue Nov 15, 2019
* ! Fix notice fingerprinter with spec (errbit#1174)

* expand clickable area to button outlines (errbit#1176)

* fix missing english translation (errbit#1183)

* Add support for Ruby 2.4.1 (errbit#1182)

* README: fix the prominent screenshot links (errbit#1188)

* Allow sending email notification for *every* error (errbit#1196)

* Allow sending email notification for *every* error
* Extract ErrorReport#should_email?

This makes the behaviour of `ERRBIT_EMAIL_AT_NOTICES` consistent with
that of `ERRBIT_NOTIFY_AT_NOTICES`.

* errbit#1197 document changes for 0.6.1

* support mentioning users as part of hipchat room notification (errbit#1189)

* support mentioning users as part of room notification
* make sure url get correctly set
* include explanation for using 'text' format with @mention

* errbit#1197 add release instructions, prep for 0.7.0

* remove to_curl functionality errbit#1205 (errbit#1210)

* fix rubocop offenses (errbit#1211)

* add outdated problem clearer (errbit#1204)

* outdated error clearer background task
* configure deprecation interval in environment
* add a spec for OutdatedProblemClearer

* allow fluid table columns on problem index

* Used to be called "Tenant" in older versions, now it's portuguese, I propose "Origin"? (errbit#1219)

* Fix webhook service notification payload (errbit#1216)

NotificationServices::WebhookService#message_for_webhook
previously returned an Hash with a single key "problem"
with a string as value:

{
    "problem": "Stringified json here"
}

actually loosing almost all the "problem" properties.

Now the "problem" key bring on a child Hash as expected.

* Bump rails from 4.2.8 to 4.2.9 (errbit#1222)

* Fix capistrano deployment with ruby 2.4.1 (errbit#1224)

This fixes exceptions in net-ssh and sshkit that occured when trying to
deploy on MRI Ruby 2.4.1 and updates capistrano to 3.4.1 for rake 11.0
compatibility.

Because of the capistrano update, users will need to bump the lock
version in config/deploy.rb from 3.4.0 to 3.4.1.

* Fix whitespace issues for issue tracker buttons (errbit#1223)

For some reason the newline after button text caused the button to
show at double it's normal height.

This fix adds css to prevent line-wrapping in button texts.

* improve the notices query in comment notification (errbit#1226)

* errbit#1225 use X-Airbrake-Token header when present (errbit#1227)

* Improve Google Auth (errbit#1221)

* Update Dockerfile

* Add ARG variables to allow for UID/GID mapping
* Update MAINTAINER (deprecated) instruction to LABEL
* Improve HEALTHCHECK, now curls the default IP of the container

* Improve Google Sign In

* Add GOOGLE_AUTO_PROVISION config option to toggle account creation
* Add GOOGLE_REDIRECT_URI config option to set a custom redirect
  location. This is useful if errbit is being served behind a reverse
  proxy that's terminating TLS

* Allow for custom user during database seed

* Add new config option for whitelisting account domains

* Permit changes to allow openshift user to '5' (errbit#1234)

* Allow Authorization header for authentication (errbit#1237)

* Speed up common idioms (errbit#1238)

* fix yaml extention typo in docs (errbit#1241)

* adding health check endpoints. w/ burnettk (errbit#1242)

* Security: Upgrade rubocop to 0.52.1 (errbit#1248)

* Upgrade rubocop
* Rubocop config: fix to work with rubocop 0.52.1
* Code consistency fix
* Update rubocop_todo.yml file to match upgraded rubocop version

Built with "bundle exec rubocop --auto-gen-config"

* Devise: conservative upgrade from 3.5.5 to 3.5.10 (errbit#1251)

Changelog shows only a few bugfixes:
https://github.com/plataformatec/devise/blob/a0af72edfdf2328bcc6586f57748c30422f2cabc/CHANGELOG.md

* Chore/security upgrades (errbit#1252)

* Security upgrade of yajl-ruby from 1.3.0 to 1.3.1

Issue fixed: https://nvd.nist.gov/vuln/detail/CVE-2017-16516

* Security update of nokogiri from 1.8.0 to 1.8.1

Issue: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9050

* Travis CI: use specific mongodb database versions (errbit#1250)

* Travis CI: use provided mongodb database

Setup from https://docs.travis-ci.com/user/database-setup/#MongoDB

* CI: auto-use latest release for each series

* CI: wait for mongodb to be ready before trying to bootstrap the database

* CI: remove ruby 2.1 and 2.2

* Whitespace for readability

* CI: test on mongodb 2.6.10 and 3.6.1

* CI: fix syntax error in environment variable definitions

* CI: remove jruby from tested versions, was also broken 8 months ago

* CI: run bundle install during setup

* CI: add rake as a test-dependency so it is available on Travis CI

Based on https://docs.travis-ci.com/user/languages/ruby/#Default-Build-Script

* CI: remove --auth flag the mongodb daemon was previously started with

This caused the following failure on a mongodb 3.6.1:

```
rake aborted!
Mongo::Error::OperationFailure: not authorized on errbit_test to execute command { find: "users", filter: { email: "errbit@errbit.example.com" }, limit: 1, singleBatch: true, $readPreference: { mode: "secondaryPreferred" }, $db: "errbit_test" } (13)
```

* CI: use before_script to setup mongodb

This leaves the "install" step at the default of `bundle install --jobs=3 --retry=3`

* CI: test against more mongodb versions to find where the current breakage starts

* CI: remove mongodb 3.6.1 from the test setup for now

More work in the shadows needed before this is happy (such as updating mongoid to a more recent release, there are many)

* Dockerfile: pin gem and bundler versions installed for more repeatable builds

* CI: add ruby 2.5 to tested versions

* Remove mongodb 2.6 from tested versions - was EOL Oct 2016

According to https://www.mongodb.com/support-policy

* Remove mongodb 3.0 from tested versions - is EOL February 2018

According to https://www.mongodb.com/support-policy

* CI: activate MongoDB 3.6 for testing, allow failures

* Updating devise from 3.5.10 to latest 4.0.x release

Changelog at https://github.com/plataformatec/devise/blob/d1948b79d3e933253baa753bd033c92171c0a7d0/CHANGELOG.md\#403---2016-05-15

* devise 4.0: fix deprecation of generic user_omniauth_authorize_path

See https://github.com/plataformatec/devise/blob/d1948b79d3e933253baa753bd033c92171c0a7d0/CHANGELOG.md#400rc2---2016-03-09

* Devise: upgrade from 4.0.0 to 4.4.0, the first version supporting ruby 2.5.0

* Devise test helper upgrade: upgrade from deprecated Devise::TestHelpers

Deprecated since devise 4.2.0: https://github.com/plataformatec/devise/blob/d1948b79d3e933253baa753bd033c92171c0a7d0/CHANGELOG.md#420---2016-07-01

* Devise 4.0: fix more uses of user_omniauth_autorize_path

See also bcac3eb

* devise configuration re-generated - mostly this is an extension of comments

* Mongoid does not support MongoDB 3.6 yet

* Add backtrace to Slack's notification (errbit#1184)

* Add backtrace to Slack's notification. Fixes errbit#1104
* Add file name to Slack's backtrace
* Refactor SlackService#post_payload

* Chore/adjust mentioned ruby and mongodb versions (errbit#1256)

* Dockerfile: pin gem and bundler versions installed for more repeatable builds
* README: update with currently supported ruby and mongodb versions
* Update docker-compose to use latest supported mongodb version

* Fix rake errbit:clear_outdated task (errbit#1258)

Fix typo in outdated_problem_clearer_task

* Fix docker healthcheck for mutiple networks (errbit#1259)

* Fix nil reference in BacktraceLineDecorator (errbit#1260)

* Avoid require memory leak with pathnames in load path (errbit#1257)

Any ruby requires that occur in your application will leak with
Pathnames in the $LOAD_PATH in ruby 2.3/2.4. Beyond that, it's faster
to use strings in the load path. Please join this bug and add your
support for a fix:

https://bugs.ruby-lang.org/issues/14372

Same problem found here: lobsters/lobsters#449
and
opf/openproject#6148

* Handle empty environment variables (errbit#1262)

Handle empty environment variables - use empty string if environment variable is empty

* add first notice date to problem show page (errbit#1267)

* do not show app in table when already on an app/show page (errbit#1268)

* do not show app in table when already on an app/show page
* make sorting work in apps/show view by adding sort by Problem#environment
* disable rubocop ClassLength warning on this class that just grew a little bit

* fix some nilpointer-style exceptions in the view when there are no notices attached to problem (errbit#1269)

* kubernetes health checks should return 500 on failure. w/ burnettk (errbit#1270)

*  avoid truncating count where it is a four digit number (errbit#1266)

* add new health api that can be used to test client config, including api_key (errbit#1271)

* add health api that can be used to test client config, including api_key
* use forbidden instead of error when api_key is bad per code review feedback. w/ jasquat

* Close milestone v0.7.0, prep for release

* Open milestone v0.8.0

* avoid 500 error in this case we saw in real life (errbit#1276)

* remove all user parts from dockerfile (errbit#1275)

update kubernetes service and replicationcontroller configs

* Upgrade Mongoid to 5.4 to support MongoDB 3.6 (errbit#1278)

* Upgrade Mongoid to 5.4 to support MongoDB 3.6

As mentioned in errbit#1253 (comment), older versions of Mongoid do not support MongoDB 3.6 because they still use `$pushAll`. https://jira.mongodb.org/projects/MONGOID/issues/MONGOID-4499 mentions that this has been fixed for Mongoid 6.3 and 7.0.

Fortunately, the fixes also got backported to 5.4 a bit later, see https://jira.mongodb.org/browse/MONGOID-4538

* Fix error with constant lookup of `Regexp`

Fixes “undefined method `escape' for Mongoid::Matchable::Regexp:Class”.

Explanation:  In Mongoid 5.2, `Mongoid::Matchable::Regexp` was added (see mongodb/mongoid@baf9357). This moduls is included in `Mongoid::Document` (via `Mongoid::Matchable`), with the result that in Mongoid document classes you can no longer simply write `Regexp` if you want to refer to Ruby’s regexp class (because this gets resolved as `Mongoid::Matchable::Regexp` instead).

* Update README regarding MongoDB version compatibility

* README: remove gemnasium (errbit#1279)

* Apply system timezone to slack notification (errbit#1213)

* CI: require ruby 2.5 to always pass, and add ruby-head to versions to use

* MongoDB: test against latest patch-releases of 3.2, 3.4, and 3.6

* CI: add MongoDB 4.0 to build matrix, and allow it to fail

* CI: use modern ruby and MongoDB first

* MongoDB 3.2 is EOL September 2018, removing from CI now

* README: ruby 2.5.x now part of the supported version set

Please report any issues encountered

* Heroku review app: use a fixed admin email/password for easier review

* Heroku: complete environment needs to be defined

* All tests pass on MongoDB 4.0.x

Let's not allow test-failures then.

* Ruby: use at least 2.3.x

* CI: test newest MongoDB version first

* Heroku: run errbit:bootstrap after environment creation

* Always use bundle exec for good measure

* README: Pull out some old upgrade information (errbit#1283)

* README: Pull out some old upgrade information
* README: untypo the typo
* README: Fix broken image
* README: make .travis.yml a link

* Document initial admin user related env vars (errbit#1284)

Closes errbit#1245

* Update rails-html-sanitizer to version 1.0.4

* Update sprockets to version 3.7.2

* Update omniauth to version 1.8.1

* Upgrade jquery-rails to v4

* Dump jQuery alerts and go back to native alerts

* Add an issue template, and info on getting help

* Update rspec-activemodel-mocks to version 1.0.3

* Update sucker_punch to version 2.0.4

* Update sass-rails to version 5.0.7

* Update airbrake to version 4.3.8

* Update htmlentities to version 4.3.4

* Implement /health/readiness without using Timeout.timeout

For more on why this pattern is problematic, read https://github.com/ankane/the-ultimate-guide-to-ruby-timeouts

* /health/readiness: avoid outputting internal error details to end-users

* Rubocop autofix

* Rubocop: upgrade from 0.52.1 to 0.58.1

* Prefer .each over for..in..

* Rubocop update autogenerated TODO file

* Chore/rubocop access modifier indentation fixup (errbit#1310)

* Rubocop: upgrade from 0.52.1 to 0.58.1
* Prefer .each over for..in..
* Rubocop update autogenerated TODO file
* Rubocop: fix access modifier indentation to be consistent everywhere

* docker-compose: bump mongodb version from 3.4 to 4.0

* Rails: eager-load all of lib/

Class loading is not thread-safe, and using autoloading doesn't work reliably with a multithreaded puma server.

* Update better_errors to version 2.4.0 (errbit#1300)

* Update devise to version 4.4.3

* Update coveralls to version 0.8.22

* README: update coveralls badge logo urls

* Sparklines!

Now we include a sparkline of the timestamps from recent notices
two graphs give at a glance access to near and far history.

* Sparklines: translate "Graph" in table header

* do sparklines work in a separate ajax call. fix rubocop issues

* GitHub Auth: Show error msg on empty email (errbit#1272)

* GitHub Auth: Show error msg on empty email
* GitHub Auth: Retrieve user emails
* GitHub Auth: simplify using present?

* Rails 4.2.9 to 4.2.10 upgrade

* Remove capistrano as a supported deploy mechanism

* Tweak deployment docs

* Ruby 2.6.x compatibility: uri.host may be the empty string instead of nil

* Notice: extract UI text into constant

* Update fabrication to version 2.20.1

* Update pry-byebug to version 3.6.0

* remove test code. really nice code review catch

* Update pry-rails to version 0.3.6

* Update rack-ssl-enforcer to version 0.2.9

* Update dotenv-rails to version 2.5.0

* Update puma to version 3.12.0

* Update rspec to version 3.7.0

* Update poltergeist to version 1.18.1

* Specfix: expect only on the explicit flash-message

Previous test-data used a blob of text in multiple tags and was too brittle.

* Update yajl-ruby to version 1.4.0

* Update rubocop to version 0.58.2

* CI: cache rubocop re-run optimization and mongodb install file (errbit#1326)

* Travis: cache both bundler and rvm install directory

* CI: cache mongodb install directory

This does require moving the data-directory and log out of the install folder, but that should be fine, the data is ephemeral in any case.

* CI: download and unpack mongodb only if local files missing

Caching the files gains nothing without this

* CI: cache only mongodb install file

Unpacking it is plenty fast

* CI: syntax fix

* CI: cache rubocop cache-files to speed-up running

* CI: Travis caches a directory tree, so move install file into a folder

* CI: rvm is already automatically cached as it is a ruby project

* Spec: Fix SimpleCov::Formatter::MultiFormatter warning (errbit#1328)

* Gemfile: allow test gems to be upgraded as appropriate (errbit#1334)

* Update binding_of_caller to version 0.8.0 (errbit#1330)

* README: a bit more markdowny

* close mongo connection after creating (errbit#1339)

* user#edit: remove duplicate error output (errbit#1337)

Fixes errbit#1057

* mongo aggregation for performance. helper to lib. methods for readability and testability

* trying to pacify coveralls

* remove now-unused method

* Heroku postdeploy is a toplevel concern + add demo data

* Document actual default login email

* Seeds: use methods instead of variables

Going to add a bit more complexity here

* Heroku: add HEROKU_APP_NAME variable

* Heroku: move seed values into seeds.rb

* Heroku: remove test environment settings, identical to regular settings

* Reintroduce the missing js form submit handler (errbit#1342)

* Markdowning

* errbit:bootstrap: usestandard rake task dependencies

* Seeds: emit unique message when running on PR environment

* Errbit::VERSION: add ENV['SOURCE_VERSION'] when available to version number

* Errbit::VERSION: extract logic and test it

* README: better table-formatting with markdown support

* Remove gem rspec-its (errbit#1344)

-1 dependency ftw.

* Heroku: upgrade from ruby 2.3.3 to 2.5.1

* Update kaminari to 1.1 series (errbit#1345)

* Gemfile: remove old version-constraint on kaminari
* Update kaminari to 1.1.1
* Adding gem kaminari-mongoid to support kaminari 1.x

* Update yajl-ruby to version 1.4.1

* Update mongoid_rails_migrations to version 1.1.1

* Update capybara to version 3.5.1

* Update rspec to version 3.8.0

* add /problems?exclude_apps=app1,app2 feature to make problems page usable with noisy apps

* fixed sparklines 24 hour graph. w/ burnettk

* rubocop fixes

* not sure why rubocop is failing on this in this branch, but the suggestion works

* Update meta_request to version 0.6.0

* Add note about the possibility of per-app notice grouping

* bug fix for pull/1268 (errbit#1353)

* support awesome filtering future. w/ jasquat

* Ensure user_attributes returns a Hash

* Add user_attributes specs

* Fixes for rubocop

* Update Dockerfile

update to latest patch ruby

* Update nokogiri to version 1.8.5

* Update docker-compose.yml

update docker compose to v3
- substitute links -> depends_on
- nest containers under services

* Update loofah to version 2.2.3

* Fix memory leak in readiness health check endpoint (errbit#1370)

* Update Dockerfile (errbit#1369)

Update docker image from ruby 2.5.1-alpine to match app.json ruby version

* Resend notifications when generating notices on resolved problems (errbit#1368)

* Update omniauth-google-oauth2 to version 0.5.3 (errbit#1357)

* Update haml to version 5.0.4 (errbit#1333)

* Update actionmailer_inline_css to version 1.6.0 (errbit#1299)

* Update flowdock to version 0.7.1 (errbit#1332)

* Update better_errors to version 2.5.0 (errbit#1375)

* Update sucker_punch to version 2.1.1 (errbit#1376)

* Update rspec-rails to version 3.8.1 (errbit#1374)

* Update omniauth-github to version 1.3.0 (errbit#1319)

* fix errbit#1233 : truncate messages by bytes rather than characters

Mongo accepts index keys only if they are less than 1,024 bytes
including some number of bytes of BSON overhead as defined by the BSON
spec. I'm not sure if that number of bytes is predictable and the value
of getting every last possible byte of this message in mongo seems low
since we're arbitrarily truncating anyway. So 1,000 bytes it is.

* Update useragent to version 0.16.10 (errbit#1381)

* Update timecop to version 0.9.1 (errbit#1380)

* Update mongoid_rails_migrations to version 1.2.0 (errbit#1379)

* Update capybara to version 3.10.0 (errbit#1378)

* Update rspec-activemodel-mocks to version 1.1.0 (errbit#1377)

* Update uglifier to version 4.1.19 (errbit#1382)

* Update capybara to version 3.10.1

* Update rack to version 1.6.11

* Update pry-rails to version 0.3.7

* Update httparty to version 0.16.3 (errbit#1388)

* Include test dependencies in the `bundle install`.

Before this change the postdeploy script was failing due to the :test
dependencies not being installed during the app deployment.

The default value for `$BUNDLE_WITHOUT` is `development:test`.

Fixes errbit#1362.

* Update uglifier to version 4.1.20

* Update capybara to version 3.11.1

* Update capybara to version 3.12.0

* Update pry-rails to version 0.3.8

* Update rake to version 12.3.2

* Update omniauth-google-oauth2 to version 0.5.4

* Update pry-rails to version 0.3.9

* remove capistrano bits (errbit#1435)

* remove unused .teatro.yml (errbit#1441)

* errbit#1385: Can't merge errors after search (errbit#1411)

The issue is related to the fact that the `#problem_table` is emptied
when the search is run, and a new table is inserted in its place with
result. The existing click binding of the buttons at the end of
the table (merge/delete/etc) is removed when the table is removed.

As a fix, `assets/javascripts/errbit.js` introduces global
`bindProblemButtonsActions` function which is extracted from the
body of `errbit.js`, containing handler of for problem buttons click
event. This function is then added to the result of
`views/problems/search.js.haml` to be run on a new problems table
when the search is returned.

* Fix webhook to actually send its body (errbit#1446)

* Fix webhook to actually send its body
* Set Content-Type to JSON and also User-Agent headers in webhook

* Prepare for v0.8.0

* Move onto the next milestone

This reverts commit 5c815c0.

* Update show.html.haml (errbit#1447)

* Update README.md (errbit#1449)

Removed the non-existing *flippa/errbit-php* and replaced it with a working link to *wasilak/errbit-php*, as per [errbit#1442](errbit#1442)

* fix brakeman issues

* remove cve-2013-0156.rb (errbit#1451)

remove cve-2013-0156.rb

errbit#353
This vulnerability is found in Rails 3.x, not required in Rails 4.x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants