Ok I didn't realise that i've changed the config to match that but unfortunately it's still referencing the same error which is strange now considering that exact syntax is no longer present. This is the full error below, it makes me wonder where it is getting it from now.
[2017-11-16T16:55:44,936][ERROR][logstash.agent ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"Java::OrgLogstashConfigIr::InvalidIRException", :message=>"Config has duplicate Ids: \nID: 290f61bfbcab108f22b4bb4135da94a4ff94d17a28c0ea88a3f4d63695fed4ef [if !(('_grokparsefailure'.include?event.getField('[tags]')))],[if !(('_grokparsefailure'.include?event.getField('[tags]')))]", :backtrace=>["org.logstash.config.ir.graph.Graph.validate(org/logstash/config/ir/graph/Graph.java:292)", "org.logstash.config.ir.PipelineIR.(org/logstash/config/ir/PipelineIR.java:52)", "java.lang.reflect.Constructor.newInstance(java/lang/reflect/Constructor.java:423)", "org.jruby.javasupport.JavaConstructor.newInstanceDirect(org/jruby/javasupport/JavaConstructor.java:246)", "org.jruby.RubyClass.newInstance(org/jruby/RubyClass.java:1022)", "org.jruby.RubyClass$INVOKER$i$newInstance.call(org/jruby/RubyClass$INVOKER$i$newInstance.gen)", "RUBY.compile_sources(/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:30)", "RUBY.compile_lir(/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:107)", "RUBY.initialize(/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:49)", "RUBY.initialize(/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:215)", "org.jruby.RubyClass.newInstance(org/jruby/RubyClass.java:1022)", "org.jruby.RubyClass$INVOKER$i$newInstance.call(org/jruby/RubyClass$INVOKER$i$newInstance.gen)", "RUBY.execute(/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:35)", "RUBY.block in converge_state(/usr/share/logstash/logstash-core/lib/logstash/agent.rb:335)", "RUBY.with_pipelines(/usr/share/logstash/logstash-core/lib/logstash/agent.rb:141)", "RUBY.block in converge_state(/usr/share/logstash/logstash-core/lib/logstash/agent.rb:332)", "org.jruby.RubyArray.each(org/jruby/RubyArray.java:1734)", "org.jruby.RubyArray$INVOKER$i$0$0$each.call(org/jruby/RubyArray$INVOKER$i$0$0$each.gen)", "RUBY.converge_state(/usr/share/logstash/logstash-core/lib/logstash/agent.rb:319)", "RUBY.block in converge_state_and_update(/usr/share/logstash/logstash-core/lib/logstash/agent.rb:166)", "RUBY.with_pipelines(/usr/share/logstash/logstash-core/lib/logstash/agent.rb:141)", "RUBY.converge_state_and_update(/usr/share/logstash/logstash-core/lib/logstash/agent.rb:164)", "RUBY.execute(/usr/share/logstash/logstash-core/lib/logstash/agent.rb:90)", "RUBY.block in execute(/usr/share/logstash/logstash-core/lib/logstash/runner.rb:362)", "org.jruby.RubyProc.call(org/jruby/RubyProc.java:289)", "org.jruby.RubyProc.call19(org/jruby/RubyProc.java:273)", "org.jruby.RubyProc$INVOKER$i$0$0$call19.call(org/jruby/RubyProc$INVOKER$i$0$0$call19.gen)", "RUBY.block in initialize(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/stud-0.0.23/lib/stud/task.rb:24)", "org.jruby.RubyProc.call(org/jruby/RubyProc.java:289)", "org.jruby.RubyProc.call(org/jruby/RubyProc.java:246)", "java.lang.Thread.run(java/lang/Thread.java:748)"]}
[2017-11-16T16:55:44,938][ERROR][logstash.agent ] An exception happened when converging configuration {:exception=>LogStash::Error, :message=>"Don't know how to handle Java::OrgLogstashConfigIr::InvalidIRException
for LogStash::PipelineAction::Create/pipeline_id:main
", :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/converge_result.rb:27:in create'", "/usr/share/logstash/logstash-core/lib/logstash/converge_result.rb:67:in
add'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:347:in block in converge_state'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:141:in
with_pipelines'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:332:in block in converge_state'", "org/jruby/RubyArray.java:1734:in
each'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:319:in converge_state'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:166:in
block in converge_state_and_update'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:141:in with_pipelines'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:164:in
converge_state_and_update'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:90:in execute'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:362:in
block in execute'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/stud-0.0.23/lib/stud/task.rb:24:in `block in initialize'"]}