Orders placed on the sparkswap Relayer (as opposed to block orders, created by users on their Brokers) are immutable. They are assigned a unique ID by the Relayer which all Brokers can rely on to never re-use an ID.
Brokers can fill placed orders for any amount up to amount specified by the Broker that placed the order. Even if the fill amount is less than the full amount specified, the order is considered filled (and other brokers are informed of the actual fill amount).
The Broker that placed the order that was partially filled is responsible for placing another order on the sparkswap Relayer for the remaining amount to fill.