omu / nokul

The Nokul Project
https://nokul.omu.sh/
GNU General Public License v3.0
46 stars 5 forks source link

ActiveModel::RangeError: 230949901877237 is out of range for ActiveModel::Type::Integer with limit 4 bytes #110

Closed msdundar closed 5 years ago

msdundar commented 6 years ago

View details in Rollbar: https://rollbar.com/msdundar/nokul/items/29/



ActiveModel::RangeError: 230949901877237 is out of range for ActiveModel::Type::Integer with limit 4 bytes
  File "/app/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.0/lib/active_model/type/integer.rb", line 53, in ensure_in_range
  File "/app/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.0/lib/active_model/type/integer.rb", line 29, in serialize
  File "/app/vendor/bundle/ruby/2.5.0/gems/activemodel-5.2.0/lib/active_model/attribute.rb", line 55, in value_for_database
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/relation/query_attribute.rb", line 13, in value_for_database
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/quoting.rb", line 144, in block in type_casted_binds
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/quoting.rb", line 144, in map
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/quoting.rb", line 144, in type_casted_binds
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb", line 600, in exec_no_cache
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb", line 590, in execute_and_clear
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/postgresql/database_statements.rb", line 81, in exec_query
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/database_statements.rb", line 117, in exec_insert
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/postgresql/database_statements.rb", line 115, in exec_insert
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/database_statements.rb", line 149, in insert
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/query_cache.rb", line 21, in insert
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/persistence.rb", line 187, in _insert_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/persistence.rb", line 733, in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/counter_cache.rb", line 180, in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/locking/optimistic.rb", line 70, in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/attribute_methods/dirty.rb", line 137, in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/callbacks.rb", line 342, in block in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/callbacks.rb", line 132, in run_callbacks
  File "/app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/callbacks.rb", line 816, in _run_create_callbacks
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/callbacks.rb", line 342, in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/timestamp.rb", line 95, in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/persistence.rb", line 704, in create_or_update
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/callbacks.rb", line 338, in block in create_or_update
  File "/app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/callbacks.rb", line 132, in run_callbacks
  File "/app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.0/lib/active_support/callbacks.rb", line 816, in _run_save_callbacks
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/callbacks.rb", line 338, in create_or_update
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/persistence.rb", line 275, in save
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/validations.rb", line 46, in save
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/transactions.rb", line 310, in block (2 levels) in save
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/transactions.rb", line 386, in block in with_transaction_returning_status
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/database_statements.rb", line 252, in transaction
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/transactions.rb", line 212, in transaction
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/transactions.rb", line 383, in with_transaction_returning_status
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/transactions.rb", line 310, in block in save
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/transactions.rb", line 325, in rollback_active_record_state!
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/transactions.rb", line 309, in save
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/suppressor.rb", line 44, in save
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/associations/collection_association.rb", line 376, in insert_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/associations/has_many_association.rb", line 36, in insert_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/associations/collection_association.rb", line 362, in block (2 levels) in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/associations/collection_association.rb", line 455, in replace_on_target
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/associations/collection_association.rb", line 284, in add_to_target
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/associations/collection_association.rb", line 360, in block in _create_record
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/associations/collection_association.rb", line 136, in block in transaction
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/database_statements.rb", line 254, in block in transaction
  File "/app/vendor/bundle/ruby/2.5.0/gems/activerecord-5.2.0/lib/active_record/connection_adapters/abstract/transaction.r
msdundar commented 6 years ago
{
    :yayin_id=>"3620728",
    :kapsam_id=>"1",
    :kapsam_ad=>"Uluslararası",
    :hakem_tur=>"0",
    :hakem_tur_ad=>"Hakemli",
    :endeks_id=>"40",
    :endeks=>"SCI",
    :makale_adi=>
     "Effects of prenatal PPAR-γ agonist rosiglitazone exposure on rat hippocampus development in a time-dependent manner: A stereological and histopathological study",
    :yazar_adi=>
     "SAĞIR DİLEK,EREN BANU,DEMİREL BURCU,EREN ZAFER,KELEŞ OSMAN NURİ,Gökçe AB",
    :yazar_sayisi=>"6",
    :ulke=>nil,
    :ulke_adi=>nil,
    :sehir=>nil,
    :dergi_adi=>"Human  Experimental Toxicology",
    :yayin_dili=>"1",
    :yayin_dili_adi=>"İngilizce",
    :ay=>"12",
    :yil=>"2017",
    :cilt=>nil,
    :sayi=>nil,
    :ilk_sayfa=>"96032711773088",
    :son_sayfa=>nil,
    :doi=>"10.1177/0960327117730883",
    :issn=>"0960-3271",
    :erisim_turu=>"2",
    :erisim_turu_ad=>"Elektronik",
    :erisim_linki=>"http://journals.sagepub.com/doi/10.1177/0960327117730883",
    :atif_sayisi=>nil,
    :alan_bilgisi=>"Fen Bilimleri ve Matematik Temel Alanı->Biyoloji",
    :anahtar_kelime=>nil,
    :ozel_sayi=>"0",
    :ozel_sayi_ad=>nil,
    :sponsor=>nil,
    :yazar_id=>"2516528",
    :guncelleme_tarihi=>"2018-01-24 10:59:30",
    :aktif_pasif=>"1",
    :aktif_pasif_ad=>"Aktif",
    :makale_turu_id=>"1",
    :makale_turu_ad=>"Özgün Makale",
    :tesv_puan=>"16.2"
}

API'den gelen yanıt hatalı, :ilk_sayfa=>"96032711773088" gibi bir değer mantıklı görünmüyor.

msdundar commented 5 years ago

@huseyin CV'yi yazarken bununla karşılaşabilirsin. Sadece bir tane kayıtta böyle bir veri geliyor.

huseyin commented 5 years ago

@msdundar bende böyle bir hata üretmiyor. ActiveRecord'da Integerın default "size"ı ile alakalı muhtemelen. Hata da db hatası aslında. Size, migration'da ayarlanabilen birşeydir muhtemelen. Çünkü doğrudan db (tabi db türüne de bağlı olarak) etkileyen faktör.

Burada birşeyler var: https://guides.rubyonrails.org/active_record_migrations.html#column-modifiers


{
  "id": 3620728,
  "name": "Effects Of Prenatal Ppar-γ Agonist Rosiglitazone Exposure On Rat Hippocampus Development İn A Time-Dependent Manner: A Stereological And Histopathological Study",
  "type_id": 1,
  "type_name": "Özgün Makale",
  "scope_id": 1,
  "scope_name": "Uluslararası",
  "referee_type_id": 0,
  "referee_type_name": "Hakemli",
  "index_id": 40,
  "index": "SCI",
  "author_id": 2516528,
  "author_name": "SAĞIR DİLEK,EREN BANU,DEMİREL BURCU,EREN ZAFER,KELEŞ OSMAN NURİ,GÖKÇE AB",
  "authors_number": 6,
  "country_id": null,
  "country_name": null,
  "city": null,
  "journal_name": "Human  Experimental Toxicology",
  "language_id": 1,
  "language_name": "İngilizce",
  "month": 12,
  "year": 2017,
  "volume": null,
  "issue": null,
  "first_page": 96032711773088,
  "last_page": null,
  "doi": 10,
  "issn": 960,
  "access_type_id": 2,
  "access_type_name": "Elektronik",
  "access_link": "http://journals.sagepub.com/doi/10.1177/0960327117730883",
   ...
}
msdundar commented 5 years ago

first_page ve last_page bir makalenin derginin kaçıncı sayfasından kaçıncı sayfasına kadar olduğunu ifade ediyor Hüseyin. Bu makale derginin 96032711773088. sayfasında olamaz heralde? 29.863 makaleyi sorunsuz import ediyor, sadece bunda hata geliyor - ki gelsin çünkü bu bozuk data.

msdundar commented 5 years ago

Hata da db hatası aslında.

Değil gibi. Daha ziyade DB'nin doğru davranması bence.