hmmm. i think you've stumbled on a larger issue. the move from 1.8 to 2.0 (master) included the consolidation of migration files into create_tables.sql file but.....some of those migrations represented the seeding of data (i.e. 20151208000000_add_job_status.sql) which would not be represented in create_tables.sql.
i'll look into that more. thanks. jeremy On Wed, Feb 1, 2017 at 9:05 AM, Oren Shemesh <or...@qwilt.com> wrote: > Indeed I failed to notice that the > file traffic_ops/app/db/migrations/20151208000000_add_job_status.sql does > not exist anymore in master, > and the seeds.sql file in master does not contain any insert to a > job-related table to compensate for that. > So the job_agent and job_status tables are empty after a fresh install. > Which means that Invalidate Content probably does not work out of the box > on master. > (I did not test master myself. Currently, as a novice, I am still learning > the product, and so I stick to the last released version, 1.7) > Which means that Jeremy's suggested fix is very much needed. > > I think nobody suggests that TC Content Invalidation should depend on the > user having to manually manipulate the DB, even if that user is novice and > just did a fresh TC install ;-) > > On Wed, Feb 1, 2017 at 5:47 PM, Jeremy Mitchell <mitchell...@gmail.com> > wrote: > > > It works IF he does a manual insert into the job_agent table and it so > > happens in master that insert is assigned an id of 1. Is that correct, > > Oren? If so, I don't "think" imo you should have to do any manual inserts > > but i suppose that can be debated. I'll leave it alone and if anyone > thinks > > the job_agent / job_status table should be "seeded" on install, they can > > create an issue / PR. > > > > Jeremy > > > > On Wed, Feb 1, 2017 at 8:31 AM, Dave Neuman <neu...@apache.org> wrote: > > > > > I am pretty sure he already said it works in master? > > > > > > On Wed, Feb 1, 2017 at 8:30 AM, Jeremy Mitchell <mitchell...@gmail.com > > > > > wrote: > > > > > > > So going forward with the master branch (it's too late for 1.8 so > your > > > > workaround will have to suffice), I think 2 lines need to be added to > > > > seeds.sql so invalidate content works on a fresh install: > > > > > > > > - an insert into the job_agent table (so a job agent with id=1 > exists) > > > > - an insert into the the job_status table with name=PENDING > > > > > > > > I'll create an issue for that. > > > > > > > > Jeremy > > > > > > > > On Wed, Feb 1, 2017 at 8:17 AM, Dave Neuman <neu...@apache.org> > wrote: > > > > > > > > > As for the release notes, since Dan is our release manager, I would > > get > > > > > them over to him. > > > > > > > > > > On Wed, Feb 1, 2017 at 8:11 AM, Oren Shemesh <or...@qwilt.com> > > wrote: > > > > > > > > > > > Thanks Jeremy :-) > > > > > > > > > > > > On Wed, Feb 1, 2017 at 5:09 PM, Jeremy Mitchell < > > > mitchell...@gmail.com > > > > > > > > > > > wrote: > > > > > > > > > > > > > I don't think jobs are ever programmatically removed from the > > jobs > > > > > table > > > > > > > nor are their statuses changed. They always remain in a pending > > > > state. > > > > > > > > > > > > > > SELECT COUNT(*) FROM job WHERE status NOT IN ( SELECT id FROM > > > > > job_status > > > > > > > WHERE name = 'PENDING' ) > > > > > > > 0 > > > > > > > > > > > > > > Like I mentioned earlier, I think there was a lot more planned > > for > > > > jobs > > > > > > but > > > > > > > as it stands today, the jobs table is currently for "invalidate > > > > > content" > > > > > > > (purge) jobs ONLY and the jobs go in to that table and never > come > > > > out. > > > > > > It's > > > > > > > kind of like the roach motel :) > > > > > > > https://www.youtube.com/watch?v=jKhGHxO-woc&feature=youtu. > > be&t=27 > > > > > > > > > > > > > > Anyhow, it's important to remember that when initiating an > > > > "invalidate > > > > > > > content" request for delivery service X, the important thing is > > > that > > > > > the > > > > > > > upd_pending flag for all servers that serve that delivery > service > > > is > > > > > > > flipped to true that way each one of those servers will fetch a > > new > > > > > > > regex_revalidate.config file that ATS needs to "invalidate" the > > > > asset. > > > > > > > Whether or not a job is created really has nothing to do with > how > > > > > content > > > > > > > is invalidated. It's currently just a way to record who did > what > > > and > > > > > > when. > > > > > > > > > > > > > > I'm going to create an issue to remove those unused tables > > > > (job_status, > > > > > > > job_result, job_agent) if nobody is opposed to it. Maybe I'll > > send > > > > out > > > > > a > > > > > > > different email specifically about that. > > > > > > > > > > > > > > Jeremy > > > > > > > > > > > > > > On Wed, Feb 1, 2017 at 2:07 AM, Oren Shemesh <or...@qwilt.com> > > > > wrote: > > > > > > > > > > > > > > > Thanks for your replies and the information :-) > > > > > > > > > > > > > > > > Dave, Is there a place I can document a work-around for being > > > > > included > > > > > > in > > > > > > > > the release notes of 1.8 ? > > > > > > > > My suggested work-around would be fixing the > create_tables.sql > > > > script > > > > > > > > before running 'postinstall'. (I have a nice awk command that > > > does > > > > > it). > > > > > > > > > > > > > > > > And a related question: Can someone comment please about the > > > > process > > > > > > > which > > > > > > > > jobs are removed from the job table (i.e. Actually delete the > > > > > records) > > > > > > ? > > > > > > > I > > > > > > > > could not find any code that does this. > > > > > > > > Or maybe content invalidation jobs are supposed to remain in > > the > > > DB > > > > > > > forever > > > > > > > > ? > > > > > > > > > > > > > > > > Thanks, Oren. > > > > > > > > > > > > > > > > On Wed, Feb 1, 2017 at 1:26 AM, Steve Malenfant < > > > > > smalenf...@gmail.com> > > > > > > > > wrote: > > > > > > > > > > > > > > > > > Please look at the release notes of 1.3.0, might solve your > > > > > problem. > > > > > > > > > > > > > > > > > > https://github.com/Comcast/traffic_control/releases/tag/ > > > > > > RELEASE-1.3.0 > > > > > > > > > > > > > > > > > > The revalidation feature doesn't work out of the box. The > > entry > > > > > id=1 > > > > > > in > > > > > > > > the > > > > > > > > > job_agent table MUST exist as well as name=PURGE must be > > > present > > > > in > > > > > > the > > > > > > > > > job_status table. > > > > > > > > > > > > > > > > > > On Tue, Jan 31, 2017 at 3:31 PM, Jeremy Mitchell < > > > > > > > mitchell...@gmail.com> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > In my opinion, the job agent id should have been passed > to > > > the > > > > > > > newjob() > > > > > > > > > > subroutine rather than depending on a hard-coded > > > > > value...actually, > > > > > > it > > > > > > > > > looks > > > > > > > > > > like that was the intent but the $agent variable never > got > > > > used. > > > > > > > > > > > > > > > > > > > > https://github.com/apache/incubator-trafficcontrol/blob/ > > > > > > > > > > master/traffic_ops/app/lib/UI/Job.pm#L42 > > > > > > > > > > > > > > > > > > > > Also, I don't think the concept of jobs, job agents, etc > > was > > > > ever > > > > > > > fully > > > > > > > > > > fleshed out (somebody correct me if i'm wrong), > therefore, > > it > > > > > would > > > > > > > be > > > > > > > > my > > > > > > > > > > opinion that we eventually kill these tables: > > > > > > > > > > > > > > > > > > > > - job_agent > > > > > > > > > > - job_status > > > > > > > > > > - job_result > > > > > > > > > > > > > > > > > > > > this would eliminate the job_agent FK from the job table > > and > > > > then > > > > > > > this > > > > > > > > > > problem of potentially using an job agent ID that doesn't > > > exist > > > > > > goes > > > > > > > > bye > > > > > > > > > > bye... > > > > > > > > > > > > > > > > > > > > also, fyi, i believe the job table really only contains > > > "purge" > > > > > aka > > > > > > > > > > "invalidate content" jobs...(defined by keyword=purge). > > > > > > > > > > > > > > > > > > > > Jeremy > > > > > > > > > > > > > > > > > > > > On Tue, Jan 31, 2017 at 12:42 PM, Dave Neuman < > > > > neu...@apache.org > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > Thanks for the investigation. Sounds like there is > > > > definitely > > > > > a > > > > > > > bug > > > > > > > > > > > there. I would vote don't worry about fixing the issue > > in > > > > 1.8 > > > > > > > since > > > > > > > > it > > > > > > > > > > is > > > > > > > > > > > fixed in master. We should, however, make a release > note > > > or > > > > > > > > something > > > > > > > > > > > explaining the issue and the work around. > > > > > > > > > > > > > > > > > > > > > > --Dave > > > > > > > > > > > > > > > > > > > > > > On Tue, Jan 31, 2017 at 12:32 PM, Oren Shemesh < > > > > > or...@qwilt.com> > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > Continuing the investigation of this issue, I have > > found > > > > > what I > > > > > > > > > believe > > > > > > > > > > > to > > > > > > > > > > > > be an inconsistency in the code that handles content > > > > > > > invalidation. > > > > > > > > > > > > To the best of my understanding, the bug exists in > > 1.7.x, > > > > and > > > > > > in > > > > > > > > the > > > > > > > > > > > latest > > > > > > > > > > > > 1.8.x as well, and was only fixed in master, as part > of > > > the > > > > > > move > > > > > > > to > > > > > > > > > > > > postgresql. > > > > > > > > > > > > > > > > > > > > > > > > The bug prevents you from adding a job, you get an > > > > immediate > > > > > > > error > > > > > > > > in > > > > > > > > > > the > > > > > > > > > > > > UI. > > > > > > > > > > > > > > > > > > > > > > > > Question: Can anyone attest to Content Invalidation > > > working > > > > > in > > > > > > a > > > > > > > > > fresh > > > > > > > > > > > > install of TC 1.7 or 1.8 ? > > > > > > > > > > > > > > > > > > > > > > > > Another question: Given that the problem probably > does > > > not > > > > > > exist > > > > > > > in > > > > > > > > > > > > 'master', do we care about fixing it in the 1.8.x > train > > > > (Or a > > > > > > > > > following > > > > > > > > > > > > train, non-postgresql) ? > > > > > > > > > > > > If so, I will issue a JIRA. > > > > > > > > > > > > > > > > > > > > > > > > The details: > > > > > > > > > > > > > > > > > > > > > > > > I believe there is an inconsistency between the code > > that > > > > > > creates > > > > > > > > the > > > > > > > > > > TO > > > > > > > > > > > DB > > > > > > > > > > > > during a clean install, and the code that depends on > > it. > > > > > > > > > > > > > > > > > > > > > > > > Creating the TO DB is done by > > traffic_ops/app/db/create_ > > > > > > > > tables.sql. > > > > > > > > > In > > > > > > > > > > > the > > > > > > > > > > > > mysql version (1.7 and 1.8), it creates the > 'job_agent' > > > > table > > > > > > and > > > > > > > > the > > > > > > > > > > > > 'job_status' table with table options > AUTO_INCREMENT=2 > > > > > > > > > > > > and AUTO_INCREMENT=5, respectively: > > > > > > > > > > > > > > > > > > > > > > > > *CREATE TABLE `job_agent`* ( > > > > > > > > > > > > `id` int(11) NOT NULL AUTO_INCREMENT, > > > > > > > > > > > > ... > > > > > > > > > > > > ) ENGINE=InnoDB *AUTO_INCREMENT=2* DEFAULT > > > CHARSET=latin1; > > > > > > > > > > > > > > > > > > > > > > > > *CREATE TABLE `job_status`* ( > > > > > > > > > > > > `id` int(11) NOT NULL AUTO_INCREMENT, > > > > > > > > > > > > ... > > > > > > > > > > > > ) ENGINE=InnoDB *AUTO_INCREMENT=5* DEFAULT > > > CHARSET=latin1; > > > > > > > > > > > > > > > > > > > > > > > > This means that when the script that populates these > > > tables > > > > > > > > > > > > (traffic_ops/app/db/migrations/20151208000000_add_ > > > > > > > job_status.sql) > > > > > > > > is > > > > > > > > > > > run, > > > > > > > > > > > > it creates entries with an id that begins with 2 and > 5, > > > > > > > > respectively. > > > > > > > > > > > > > > > > > > > > > > > > However, the code that attempts to add an entry to > the > > > > 'job' > > > > > > > table, > > > > > > > > > > > assumes > > > > > > > > > > > > that the id numbers in both tables, begins at 1. > > > > > > > > > > > > > > > > > > > > > > > > From traffic_ops/app/lib/UI/Job.pm: > > > > > > > > > > > > > > > > > > > > > > > > sub newjob { > > > > > > > > > > > > ... > > > > > > > > > > > > my $*status = 1*; > > > > > > > > > > > > ... > > > > > > > > > > > > my $insert = $self->db->resultset('Job')->create( > > > > > > > > > > > > { > > > > > > > > > > > > *agent => 1,* > > > > > > > > > > > > object_type => $object_type, > > > > > > > > > > > > object_name => $object_name, > > > > > > > > > > > > entered_time => $entered_time, > > > > > > > > > > > > keyword => $keyword, > > > > > > > > > > > > parameters => $parameters, > > > > > > > > > > > > asset_url => $org_server_fqdn, > > > > > > > > > > > > asset_type => $asset_type, > > > > > > > > > > > > *status => $status*, > > > > > > > > > > > > job_user => $user, > > > > > > > > > > > > start_time => $start_time_gmt, > > > > > > > > > > > > job_deliveryservice => $ds->id, > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > As you can see, both the 'agent' and the 'status' > > fields > > > > are > > > > > > set > > > > > > > > to a > > > > > > > > > > > > hard-coded value of 1, which cannot exist in tables > > that > > > > are > > > > > > set > > > > > > > to > > > > > > > > > > have > > > > > > > > > > > an > > > > > > > > > > > > auto-incremented value of 'id' that begins with 2 or > 5. > > > > > > > > > > > > > > > > > > > > > > > > When looking at the traffic_ops/app/db/create_ > > tables.sql > > > > > > script > > > > > > > in > > > > > > > > > > > > 'master', which is now adapted to postgresql, it > seems > > > that > > > > > it > > > > > > is > > > > > > > > > > totally > > > > > > > > > > > > different code, but the inconsistency is now gone, > > > because > > > > > the > > > > > > > > > > numbering > > > > > > > > > > > > starts at 1: > > > > > > > > > > > > > > > > > > > > > > > > CREATE TABLE job_agent ( > > > > > > > > > > > > id bigint NOT NULL, > > > > > > > > > > > > name text, > > > > > > > > > > > > description text, > > > > > > > > > > > > active integer DEFAULT 0 NOT NULL, > > > > > > > > > > > > last_updated timestamp with time zone DEFAULT > now() > > > > > > > > > > > > ); > > > > > > > > > > > > > > > > > > > > > > > > CREATE SEQUENCE job_agent_id_seq > > > > > > > > > > > > * START WITH 1* > > > > > > > > > > > > INCREMENT BY 1 > > > > > > > > > > > > NO MINVALUE > > > > > > > > > > > > NO MAXVALUE > > > > > > > > > > > > CACHE 1; > > > > > > > > > > > > > > > > > > > > > > > > ALTER SEQUENCE job_agent_id_seq OWNED BY > job_agent.id; > > > > > > > > > > > > > > > > > > > > > > > > Regards, Oren. > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Jan 26, 2017 at 5:36 PM, Dave Neuman < > > > > > > neu...@apache.org> > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > Good to hear. It's too bad that we have some > routes > > > > > > requiring > > > > > > > a > > > > > > > > > > > specific > > > > > > > > > > > > > ID from the database, when you come across those > can > > > you > > > > > > open a > > > > > > > > > Jira > > > > > > > > > > > > issue > > > > > > > > > > > > > so we know they need to be fixed? > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > Dave > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Jan 26, 2017 at 5:17 AM, Naama Shoresh < > > > > > > > naa...@qwilt.com > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Dave, > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is the next error I got. Already fixed the > DB > > > > > > > accordingly. > > > > > > > > > > > > > > Traffic Ops fatal error occurred while processing > > > your > > > > > > > request. > > > > > > > > > > > > > > ------------------------------ > > > > > > > > > > > > > > Error at line 146 ( my $insert = > > > > > > > $self->db->resultset('Job')-> > > > > > > > > > > > create() > > > > > > > > > > > > > > ------------------------------ > > > > > > > > > > > > > > DBIx::Class::Storage::DBI::_dbh_execute(): DBI > > > > > Exception: > > > > > > > > > > > > DBD::mysql::st > > > > > > > > > > > > > > execute failed: Cannot add or update a child > row: a > > > > > foreign > > > > > > > key > > > > > > > > > > > > > constraint > > > > > > > > > > > > > > fails (`traffic_ops_db`.`job`, CONSTRAINT > > > > > > `fk_job_status_id1` > > > > > > > > > > FOREIGN > > > > > > > > > > > > KEY > > > > > > > > > > > > > > (`status`) REFERENCES `job_status` (`id`) ON > DELETE > > > NO > > > > > > ACTION > > > > > > > > ON > > > > > > > > > > > UPDATE > > > > > > > > > > > > > NO > > > > > > > > > > > > > > ACTION) [for Statement "INSERT INTO job ( agent, > > > > > > asset_type, > > > > > > > > > > > asset_url, > > > > > > > > > > > > > > entered_time, job_deliveryservice, job_user, > > keyword, > > > > > > > > > object_name, > > > > > > > > > > > > > > object_type, parameters, start_time, status) > > VALUES ( > > > > ?, > > > > > ?, > > > > > > > ?, > > > > > > > > ?, > > > > > > > > > > ?, > > > > > > > > > > > ?, > > > > > > > > > > > > > ?, > > > > > > > > > > > > > > ?, ?, ?, ?, ? )" with ParamValues: 0=1, 1="file", > > 2=" > > > > > > > > > > > > > > http://images1.ynet.co.il/foo/.*", 3='2017-01-24 > > > > > > 09:16:46', > > > > > > > > > > 4='311', > > > > > > > > > > > > > > 5='59', 6="PURGE", 7=undef, 8=undef, 9="TTL:48h", > > > > > > > > 10='2017-01-24 > > > > > > > > > > > > > 09:05:26', > > > > > > > > > > > > > > 11=1] at /opt/traffic_ops/app/lib/UI/Job.pm line > > 146 > > > > > > > > > > > > > > > > > > > > > > > > > > > > What happened was that TO post_install script > > failed > > > > the > > > > > > > first > > > > > > > > > > time I > > > > > > > > > > > > ran > > > > > > > > > > > > > > it, and I ran it again. As a result, the records > in > > > > > > > job_status > > > > > > > > & > > > > > > > > > > > > > job_agent > > > > > > > > > > > > > > were added, removed, and added again, and their > ids > > > > were > > > > > > > > offset. > > > > > > > > > I > > > > > > > > > > > > guess > > > > > > > > > > > > > > there are several routes in the code counting on > a > > > > > specific > > > > > > > > > record > > > > > > > > > > id > > > > > > > > > > > > in > > > > > > > > > > > > > > the DB. > > > > > > > > > > > > > > > > > > > > > > > > > > > > After fixing the DB, there was another error, the > > > > > parameter > > > > > > > > > > > > snapshot_dir > > > > > > > > > > > > > > was missing from regex_revalidate.config profile. > > > > > > > > > > > > > > When I added the missing parameter,"Invalidate > > > content" > > > > > > > worked > > > > > > > > as > > > > > > > > > > > > > expected. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks a lot for your help. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Naama > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jan 24, 2017 at 5:16 PM, Dave Neuman < > > > > > > > > neu...@apache.org> > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > can you send the new error? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jan 24, 2017 at 2:18 AM, Naama Shoresh > < > > > > > > > > > naa...@qwilt.com > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > actually, I didn't look closely enough. It is > > now > > > > > > > > complaining > > > > > > > > > > > > about a > > > > > > > > > > > > > > > > different table. > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jan 24, 2017 at 11:13 AM, Naama > > Shoresh < > > > > > > > > > > > naa...@qwilt.com> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I checked. The exact same error. > > > > > > > > > > > > > > > > > It seemed weird to me, too. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Jan 24, 2017 at 11:12 AM, Oren > > Shemesh > > > < > > > > > > > > > > > or...@qwilt.com> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> [1:1] > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> R U sure that the exact same error > repeats ? > > > > > > > > > > > > > > > > >> It seems that now the constraint is > > satisfied, > > > > so > > > > > if > > > > > > > > there > > > > > > > > > > is > > > > > > > > > > > an > > > > > > > > > > > > > > > error, > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > >> will be a different one ... > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> (Not that I know SQL, but my sqenglish is > > good > > > > > > enough > > > > > > > > :-) > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> On Tue, Jan 24, 2017 at 10:57 AM, Naama > > > Shoresh > > > > < > > > > > > > > > > > > naa...@qwilt.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > I tried adding a row to the job_agent > > table: > > > > > > > > > > > > > > > > >> > mysql> select * from job_agent; > > > > > > > > > > > > > > > > >> > +----+-------+---------------- > > > > > > > > > > > ------------+--------+-------- > > > > > > > > > > > > > > > > >> -------------+ > > > > > > > > > > > > > > > > >> > | id | name | description > > | > > > > > > active | > > > > > > > > > > > > > last_updated > > > > > > > > > > > > > > > > >> | > > > > > > > > > > > > > > > > >> > +----+-------+---------------- > > > > > > > > > > > ------------+--------+-------- > > > > > > > > > > > > > > > > >> -------------+ > > > > > > > > > > > > > > > > >> > | 1 | PURGE | Description of Purge > Agent > > | > > > > > > 1 | > > > > > > > > > > > > 2017-01-24 > > > > > > > > > > > > > > > > >> 08:50:22 | > > > > > > > > > > > > > > > > >> > | 2 | dummy | Description of Purge > Agent > > | > > > > > > 1 | > > > > > > > > > > > > 2017-01-01 > > > > > > > > > > > > > > > > >> 10:28:43 | > > > > > > > > > > > > > > > > >> > +----+-------+---------------- > > > > > > > > > > > ------------+--------+-------- > > > > > > > > > > > > > > > > >> -------------+ > > > > > > > > > > > > > > > > >> > 2 rows in set (0.00 sec) > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > But the error repeats. > > > > > > > > > > > > > > > > >> > Any ideas? > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > Thanks, > > > > > > > > > > > > > > > > >> > Naama > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > On Tue, Jan 24, 2017 at 12:17 AM, Dave > > > Neuman > > > > < > > > > > > > > > > > > > neu...@apache.org> > > > > > > > > > > > > > > > > >> wrote: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > The error message says that you are > > trying > > > > to > > > > > > > > submit a > > > > > > > > > > job > > > > > > > > > > > > > with > > > > > > > > > > > > > > an > > > > > > > > > > > > > > > > >> Agent > > > > > > > > > > > > > > > > >> > id > > > > > > > > > > > > > > > > >> > > of 1, which doesn't exist. > > > > > > > > > > > > > > > > >> > > ```INSERT INTO job ( agent, > asset_type, > > > > > > asset_url, > > > > > > > > > > > > > > > > >> > > entered_time, job_deliveryservice, > > > job_user, > > > > > > > > keyword, > > > > > > > > > > > > > > object_name, > > > > > > > > > > > > > > > > >> > > object_type, parameters, start_time, > > > status) > > > > > > > VALUES > > > > > > > > ( > > > > > > > > > ?, > > > > > > > > > > > ?, > > > > > > > > > > > > ?, > > > > > > > > > > > > > > ?, > > > > > > > > > > > > > > > ?, > > > > > > > > > > > > > > > > >> ?, > > > > > > > > > > > > > > > > >> > ?, > > > > > > > > > > > > > > > > >> > > ?, ?, ?, ?, ? )" with ParamValues: > 0=1, > > > > > > 1="file", > > > > > > > > 2=" > > > > > > > > > > > > > > > > >> > > http://s2.ipcamlive.com/.*/ > > > > > > > > > 7464537492280autoresize.jpg > > > > > > > > > > ", > > > > > > > > > > > > > > > > >> 3='2017-01-22 > > > > > > > > > > > > > > > > >> > > 13:04:53', 4='312', 5='59', 6="PURGE", > > > > > 7=undef, > > > > > > > > > 8=undef, > > > > > > > > > > > > > > > > 9="TTL:48h", > > > > > > > > > > > > > > > > >> > > 10='2017-01-22 13:05:22', 11=1] at > > > > > > > > > > > > > /opt/traffic_ops/app/lib/UI/ > > > > > > > > > > > > > > > > Job.pm > > > > > > > > > > > > > > > > >> > line > > > > > > > > > > > > > > > > >> > > 146``` > > > > > > > > > > > > > > > > >> > > I am not sure how that agent is > supposed > > > to > > > > be > > > > > > > > > created, > > > > > > > > > > > this > > > > > > > > > > > > > > might > > > > > > > > > > > > > > > > be > > > > > > > > > > > > > > > > >> a > > > > > > > > > > > > > > > > >> > > bug. Can you please submit an issue? > > > > > > > > > > > > > > > > >> > > The workaround would be to create an > > agent > > > > > with > > > > > > > id = > > > > > > > > > 1. > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > Thanks, > > > > > > > > > > > > > > > > >> > > Dave > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > On Mon, Jan 23, 2017 at 3:05 PM, Naama > > > > > Shoresh < > > > > > > > > > > > > > > naa...@qwilt.com> > > > > > > > > > > > > > > > > >> wrote: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > > No, only this one: > > > > > > > > > > > > > > > > >> > > > (2,'dummy','Description of Purge > > > > > > > > > Agent',1,'2017-01-04 > > > > > > > > > > > > > > 13:16:30') > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > What does that mean? > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > Thanks, > > > > > > > > > > > > > > > > >> > > > Naama > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > On Mon, Jan 23, 2017 at 5:27 PM, > Dave > > > > > Neuman < > > > > > > > > > > > > > > neu...@apache.org > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> > wrote: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > Do you have an agent in your > > job_agent > > > > > table > > > > > > > > with > > > > > > > > > > the > > > > > > > > > > > id > > > > > > > > > > > > > of > > > > > > > > > > > > > > 1? > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > > > On Mon, Jan 23, 2017 at 5:42 AM, > > Naama > > > > > > > Shoresh < > > > > > > > > > > > > > > > > naa...@qwilt.com> > > > > > > > > > > > > > > > > >> > > wrote: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > Hi, > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > When trying to invalidate > content > > > from > > > > > the > > > > > > > TO > > > > > > > > > UI, > > > > > > > > > > I > > > > > > > > > > > > get > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > >> > following > > > > > > > > > > > > > > > > >> > > > > fatal > > > > > > > > > > > > > > > > >> > > > > > error message: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > Traffic Ops fatal error occurred > > > while > > > > > > > > > processing > > > > > > > > > > > your > > > > > > > > > > > > > > > > request. > > > > > > > > > > > > > > > > >> > > > > > ------------------------------ > > > > > > > > > > > > > > > > >> > > > > > Error at line 146 ( my $insert = > > > > > > > > > > > > > > > $self->db->resultset('Job')-> > > > > > > > > > > > > > > > > >> > > create() > > > > > > > > > > > > > > > > >> > > > > > ------------------------------ > > > > > > > > > > > > > > > > >> > > > > > DBIx::Class::Storage::DBI::_ > > > > > > dbh_execute(): > > > > > > > > DBI > > > > > > > > > > > > > Exception: > > > > > > > > > > > > > > > > >> > > > DBD::mysql::st > > > > > > > > > > > > > > > > >> > > > > > execute failed: Cannot add or > > > update a > > > > > > child > > > > > > > > > row: > > > > > > > > > > a > > > > > > > > > > > > > > foreign > > > > > > > > > > > > > > > > key > > > > > > > > > > > > > > > > >> > > > > constraint > > > > > > > > > > > > > > > > >> > > > > > fails (`traffic_ops_db`.`job`, > > > > > CONSTRAINT > > > > > > > > > > > > > > `fk_job_agent_id1` > > > > > > > > > > > > > > > > >> > FOREIGN > > > > > > > > > > > > > > > > >> > > > KEY > > > > > > > > > > > > > > > > >> > > > > > (`agent`) REFERENCES `job_agent` > > > > (`id`) > > > > > ON > > > > > > > > > DELETE > > > > > > > > > > > > > CASCADE > > > > > > > > > > > > > > ON > > > > > > > > > > > > > > > > >> UPDATE > > > > > > > > > > > > > > > > >> > > NO > > > > > > > > > > > > > > > > >> > > > > > ACTION) [for Statement "INSERT > > INTO > > > > job > > > > > ( > > > > > > > > agent, > > > > > > > > > > > > > > asset_type, > > > > > > > > > > > > > > > > >> > > asset_url, > > > > > > > > > > > > > > > > >> > > > > > entered_time, > job_deliveryservice, > > > > > > job_user, > > > > > > > > > > > keyword, > > > > > > > > > > > > > > > > >> object_name, > > > > > > > > > > > > > > > > >> > > > > > object_type, parameters, > > start_time, > > > > > > status) > > > > > > > > > > VALUES > > > > > > > > > > > ( > > > > > > > > > > > > ?, > > > > > > > > > > > > > > ?, > > > > > > > > > > > > > > > ?, > > > > > > > > > > > > > > > > >> ?, > > > > > > > > > > > > > > > > >> > ?, > > > > > > > > > > > > > > > > >> > > ?, > > > > > > > > > > > > > > > > >> > > > > ?, > > > > > > > > > > > > > > > > >> > > > > > ?, ?, ?, ?, ? )" with > ParamValues: > > > > 0=1, > > > > > > > > > 1="file", > > > > > > > > > > > 2=" > > > > > > > > > > > > > > > > >> > > > > > http://s2.ipcamlive.com/.*/ > > > > > > > > > > > > 7464537492280autoresize.jpg > > > > > > > > > > > > > ", > > > > > > > > > > > > > > > > >> > > 3='2017-01-22 > > > > > > > > > > > > > > > > >> > > > > > 13:04:53', 4='312', 5='59', > > > 6="PURGE", > > > > > > > > 7=undef, > > > > > > > > > > > > 8=undef, > > > > > > > > > > > > > > > > >> > 9="TTL:48h", > > > > > > > > > > > > > > > > >> > > > > > 10='2017-01-22 13:05:22', 11=1] > at > > > > > > > > > > > > > > > > /opt/traffic_ops/app/lib/UI/ > > > > > > > > > > > > > > > > >> > > Job.pm > > > > > > > > > > > > > > > > >> > > > > line > > > > > > > > > > > > > > > > >> > > > > > 146 > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > In traffic_ops log file I see > this > > > > > > message: > > > > > > > > > > > > > > > > >> > > > > > [2017-01-23 12:31:47,834] > [ERROR] > > > > > > > > > > > > > > > DBIx::Class::Storage::DBI::_ > > > > > > > > > > > > > > > > >> > > > > > dbh_execute(): > > > > > > > > > > > > > > > > >> > > > > > DBI Exception: DBD::mysql::st > > > execute > > > > > > > failed: > > > > > > > > > > Cannot > > > > > > > > > > > > add > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > >> update > > > > > > > > > > > > > > > > >> > a > > > > > > > > > > > > > > > > >> > > > > child > > > > > > > > > > > > > > > > >> > > > > > row: a foreign key constraint > > fails > > > > > > > > > > > > > > (`traffic_ops_db`.`job`, > > > > > > > > > > > > > > > > >> > > CONSTRAINT > > > > > > > > > > > > > > > > >> > > > > > `fk_job_agent_id1` FOREIGN KEY > > > > (`agent`) > > > > > > > > > > REFERENCES > > > > > > > > > > > > > > > > `job_agent` > > > > > > > > > > > > > > > > >> > > (`id`) > > > > > > > > > > > > > > > > >> > > > ON > > > > > > > > > > > > > > > > >> > > > > > DELETE CASCADE ON UPDATE NO > > ACTION) > > > > [for > > > > > > > > > Statement > > > > > > > > > > > > > "INSERT > > > > > > > > > > > > > > > > INTO > > > > > > > > > > > > > > > > >> > job ( > > > > > > > > > > > > > > > > >> > > > > > agent, asset_type, asset_url, > > > > > > entered_time, > > > > > > > > > > > > > > > > job_deliveryservice, > > > > > > > > > > > > > > > > >> > > > > job_user, > > > > > > > > > > > > > > > > >> > > > > > keyword, object_name, > object_type, > > > > > > > parameters, > > > > > > > > > > > > > start_time, > > > > > > > > > > > > > > > > >> status) > > > > > > > > > > > > > > > > >> > > > > VALUES ( > > > > > > > > > > > > > > > > >> > > > > > ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, > ?, ? > > > )" > > > > > with > > > > > > > > > > > > ParamValues: > > > > > > > > > > > > > > 0=1, > > > > > > > > > > > > > > > > >> > > 1="file", > > > > > > > > > > > > > > > > >> > > > > 2=" > > > > > > > > > > > > > > > > >> > > > > > http://images1.ynet.co.il/foo/ > .* > > ", > > > > > > > > > 3='2017-01-23 > > > > > > > > > > > > > > 12:31:47', > > > > > > > > > > > > > > > > >> > 4='311', > > > > > > > > > > > > > > > > >> > > > > > 5='59', 6="PURGE", 7=undef, > > 8=undef, > > > > > > > > > 9="TTL:48h", > > > > > > > > > > > > > > > > 10='2017-01-23 > > > > > > > > > > > > > > > > >> > > > > 12:32:22', > > > > > > > > > > > > > > > > >> > > > > > 11=1] at > > > /opt/traffic_ops/app/lib/UI/ > > > > > > Job.pm > > > > > > > > > line > > > > > > > > > > > 146 > > > > > > > > > > > > > > > > >> > > > > > [2017-01-23 12:31:47,835] > [ERROR] > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > Any idea why this happens? > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > Thanks, > > > > > > > > > > > > > > > > >> > > > > > Naama > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > -- > > > > > > > > > > > > > > > > >> > > > *Naama Shoresh* > > > > > > > > > > > > > > > > >> > > > Qwilt | Work: +972-72-2221706 > > > > > > > > <+972%2072-222-1706> | > > > > > > > > > > > > Mobile: > > > > > > > > > > > > > > > > >> +972-52-3401999 <+972%2052-340-1999> | > > > > > > > > > > > > > > > > >> > > > naam...@qwilt.com > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > -- > > > > > > > > > > > > > > > > >> > *Naama Shoresh* > > > > > > > > > > > > > > > > >> > Qwilt | Work: +972-72-2221706 | Mobile: > > > > > > > > +972-52-3401999 > > > > > > > > > | > > > > > > > > > > > > > > > > >> > naam...@qwilt.com > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> -- > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> *Oren Shemesh* > > > > > > > > > > > > > > > > >> Qwilt | Work: +972-72-2221637| Mobile: > > > > > > > +972-50-2281168 > > > > > > > > | > > > > > > > > > > > > > > > > or...@qwilt.com > > > > > > > > > > > > > > > > >> <y...@qwilt.com> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > *Naama Shoresh* > > > > > > > > > > > > > > > > > Qwilt | Work: +972-72-2221706 > > > > > <+972%2072-222-1706> | > > > > > > > > > Mobile: > > > > > > > > > > > > > > > > > +972-52-3401999 <+972%2052-340-1999> | > > > > > > > naam...@qwilt.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > *Naama Shoresh* > > > > > > > > > > > > > > > > Qwilt | Work: +972-72-2221706 | Mobile: > > > > > > +972-52-3401999 > > > > > > > | > > > > > > > > > > > > > > > > naam...@qwilt.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > *Naama Shoresh* > > > > > > > > > > > > > > Qwilt | Work: +972-72-2221706 | Mobile: > > > > +972-52-3401999 > > > > > | > > > > > > > > > > > > > > naam...@qwilt.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > > > > > > > > > *Oren Shemesh* > > > > > > > > > > > > Qwilt | Work: +972-72-2221637| Mobile: > +972-50-2281168 > > | > > > > > > > > > > or...@qwilt.com > > > > > > > > > > > > <y...@qwilt.com> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > *Oren Shemesh* > > > > > > > > Qwilt | Work: +972-72-2221637| Mobile: +972-50-2281168 | > > > > > > or...@qwilt.com > > > > > > > > <y...@qwilt.com> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > *Oren Shemesh* > > > > > > Qwilt | Work: +972-72-2221637| Mobile: +972-50-2281168 | > > > > or...@qwilt.com > > > > > > <y...@qwilt.com> > > > > > > > > > > > > > > > > > > > > > > > > -- > > *Oren Shemesh* > Qwilt | Work: +972-72-2221637| Mobile: +972-50-2281168 | or...@qwilt.com > <y...@qwilt.com> >