You might try restructuring the scenario like below, see if it gives you a different result. I wonder if the first .feed() is consumed by the .exec() so it isn’t available to the second exec()
val scn = scenario("TGT_AddTrip")
.repeat(1){
feed(usernames)
.feed(jdbcFeeder(conn_str,
"xxxx", "xxxx",
"SELECT [t.id](http://t.id/) as trip_id FROM trip t where username='${username}'").queue)
.exec((s:Session)=>{
println("Current Trip ID is "+s.attributes("trip_id"))
println("username is " + s.attributes('username"))
s})
}