As Known , at first log reader agent would get the oldest non-distriution lsn (watermark) , then traverse into the transaction log to the replication watermark .
There are some question in follow ,
1. whats the meaning of "traverse" ? is just scan the active log from the top head until find the lsn and then forward through the entire log? or , whether it can #seek# the log record which marked replicate in the ::fn_dblog .
2. in fact ,you may find though the transaction lsn not at the head , but you also cannot thrink the log files ,and the log_reuse_wait_desc in the sys.databases dmvs is replicate. so ,if the record is marked 'replicate' ,then you couldnot truncate the log ? in follow link , whats the meaning of 'If a database includes one or more transactional publications, the log is not truncated until all transactions relevant to the publications have been delivered to the distribution database' http://msdn.microsoft.com/library/en-us/ms345414
3. Is there any whitepapers , forums about the transaction log internals work method in the replication ,mirror enviroment.
thanks ,expect your reply !