Title: Message Title
Tom Vachon updated an issue
PuppetDB / PDB-865
Puppet DB Migrations Do not Handle Bad Data
Change By:
Tom Vachon
Whenrunninganupgradefrom1.6to2.2,Iwouldgetafailedassertiononthev25upgrade.Divingintothedebuglogs,itshowedahostwhichhadacertnbamebutnofactset,causingittotryandmapinanullvalueandinsertintothedatabase.Thehostinquestionwasmarkedasdecommissioned.Removingthehostfromcertnamesfixedtheissue.{code}2014-09-1015:56:17,166DEBUG[c.j.b.PreparedStatementHandle]INSERTINTOfacts(fact_value_id,factset_id)VALUES(49,1)2014-09-1015:56:17,167DEBUG[c.j.b.PreparedStatementHandle]INSERTINTOfacts(fact_value_id,factset_id)VALUES(84,1)2014-09-1015:56:17,168DEBUG[c.j.b.PreparedStatementHandle]SELECT*FROMcertname_factsWHEREcertname='ip-10-48-11-194.hnd.example.com'2014-09-1015:56:17,168DEBUG[c.j.b.PreparedStatementHandle]SELECTnameFROMenvironmentsWHEREid=NULL2014-09-1015:56:17,169DEBUG[c.j.b.PreparedStatementHandle]INSERTINTOfactsets(certname,timestamp,environment_id,producer_timestamp)VALUES('ip-10-48-11-194.hnd.example.com',2014-05-1515:15:18.43,NULL,NULL)2014-09-1015:56:17,203ERROR[p.t.logging]Uncaughtexceptionjava.lang.AssertionError:Assertfailed:(seqcoll) atcom.puppetlabs.jdbc$in_clause_multi.invoke(jdbc.clj:329)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9462$fact_path_current_ids__9463$fn__9464.invoke(storage.clj:799)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9462$fact_path_current_ids__9463.invoke(storage.clj:787)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9512$fact_paths_to_ids__9513$fn__9514.invoke(storage.clj:824)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9512$fact_paths_to_ids__9513.invoke(storage.clj:821)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9607$new_fact_value_ids_STAR___9608$fn__9609.invoke(storage.clj:902)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9607$new_fact_value_ids_STAR___9608.invoke(storage.clj:897)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9631$new_fact_value_ids__9632$fn__9633.invoke(storage.clj:926)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9631$new_fact_value_ids__9632.invoke(storage.clj:919)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9731$add_facts_BANG___9732$fn__9736.invoke(storage.clj:980)~[na:na] atcom.puppetlabs.puppetdb.scf.storage$eval9731$add_facts_BANG___9732.invoke(storage.clj:971)~[na:na] atcom.puppetlabs.puppetdb.scf.migrate$migrate_to_structured_facts.invoke(migrate.clj:726)~[na:na] atcom.puppetlabs.puppetdb.scf.migrate$structured_facts.invoke(migrate.clj:840)~[na:na] atcom.puppetlabs.puppetdb.scf.migrate$migrate_BANG_$fn__18759$fn__18772.invoke(migrate.clj:924)~[na:na] atcom.puppetlabs.puppetdb.scf.migrate$migrate_BANG_$fn__18759.invoke(migrate.clj:923)~[na:na] atclojure.java.jdbc.internal$transaction_STAR_.invoke(internal.clj:204)~[na:na] atcom.puppetlabs.puppetdb.scf.migrate$migrate_BANG_.invoke(migrate.clj:920)~[na:na] atcom.puppetlabs.puppetdb.cli.services$start_puppetdb$fn__18893.invoke(services.clj:291)~[na:na] atclojure.java.jdbc.internal$with_connection_STAR_.invoke(internal.clj:186)~[na:na] atcom.puppetlabs.puppetdb.cli.services$start_puppetdb.invoke(services.clj:289)~[na:na] atcom.puppetlabs.puppetdb.cli.services$reify__18941$f_positional__18950$fnk18983_positional__18984$fn__18985.invoke(services.clj:354)~[na:na]