I created this issue to account for seed data lost in the transition from
1.8 to 2.0

https://issues.apache.org/jira/browse/TC-126

On Wed, Feb 1, 2017 at 10:26 AM, Jeremy Mitchell <mitchell...@gmail.com>
wrote:

> 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/incu
>> bator-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>
>> > > > > > > > <+972%2072-222-1706> |
>> > > > > > > > > > > > Mobile:
>> > > > > > > > > > > > > > > > >> +972-52-3401999 <+972%2052-340-1999>
>> <+972%2052-340-1999> |
>> > > > > > > > > > > > > > > > >> > > > naam...@qwilt.com
>> > > > > > > > > > > > > > > > >> > > >
>> > > > > > > > > > > > > > > > >> > >
>> > > > > > > > > > > > > > > > >> >
>> > > > > > > > > > > > > > > > >> >
>> > > > > > > > > > > > > > > > >> >
>> > > > > > > > > > > > > > > > >> > --
>> > > > > > > > > > > > > > > > >> > *Naama Shoresh*
>> > > > > > > > > > > > > > > > >> > Qwilt | Work: +972-72-2221706
>> <+972%2072-222-1706> | Mobile:
>> > > > > > > > +972-52-3401999 <+972%2052-340-1999>
>> > > > > > > > > |
>> > > > > > > > > > > > > > > > >> > naam...@qwilt.com
>> > > > > > > > > > > > > > > > >> >
>> > > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > > >> --
>> > > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > > >> *Oren Shemesh*
>> > > > > > > > > > > > > > > > >> Qwilt | Work: +972-72-2221637
>> <+972%2072-222-1637>| Mobile:
>> > > > > > > +972-50-2281168 <+972%2050-228-1168>
>> > > > > > > > |
>> > > > > > > > > > > > > > > > or...@qwilt.com
>> > > > > > > > > > > > > > > > >> <y...@qwilt.com>
>> > > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > > > --
>> > > > > > > > > > > > > > > > > *Naama Shoresh*
>> > > > > > > > > > > > > > > > > Qwilt | Work: +972-72-2221706
>> <+972%2072-222-1706>
>> > > > > <+972%2072-222-1706> |
>> > > > > > > > > Mobile:
>> > > > > > > > > > > > > > > > > +972-52-3401999 <+972%2052-340-1999>
>> <+972%2052-340-1999> |
>> > > > > > > naam...@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
>> <+972%2072-222-1706> | Mobile:
>> > > > +972-52-3401999 <+972%2052-340-1999>
>> > > > > |
>> > > > > > > > > > > > > > naam...@qwilt.com
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > > --
>> > > > > > > > > > > >
>> > > > > > > > > > > > *Oren Shemesh*
>> > > > > > > > > > > > Qwilt | Work: +972-72-2221637 <+972%2072-222-1637>|
>> Mobile: +972-50-2281168
>> > |
>> > > > > > > > > > or...@qwilt.com
>> > > > > > > > > > > > <y...@qwilt.com>
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > --
>> > > > > > > >
>> > > > > > > > *Oren Shemesh*
>> > > > > > > > Qwilt | Work: +972-72-2221637 <+972%2072-222-1637>|
>> Mobile: +972-50-2281168 |
>> > > > > > or...@qwilt.com
>> > > > > > > > <y...@qwilt.com>
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > > >
>> > > > > >
>> > > > > > --
>> > > > > >
>> > > > > > *Oren Shemesh*
>> > > > > > Qwilt | Work: +972-72-2221637 <+972%2072-222-1637>| Mobile:
>> +972-50-2281168 |
>> > > > or...@qwilt.com
>> > > > > > <y...@qwilt.com>
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>>
>>
>> --
>>
>> *Oren Shemesh*
>> Qwilt | Work: +972-72-2221637 <+972%2072-222-1637>| Mobile:
>> +972-50-2281168 | or...@qwilt.com
>> <y...@qwilt.com>
>>
>
>

Reply via email to