I manually select from my UTXOs, sign the tx (offline programmatical signing, not with wallet) and only interact with bitcoind when I call
sendrawtransaction. But in the meantime another process might have chosen one of the same UTXOs and have already been broadcast before mine.
At which point would I realize my tx broadcast didn't make it? Would
sendrawtransaction return error? Or would it be only evident if I call
gettransaction with the txid returned by
sendrawtransaction? It would say "no such tx exists"?