Read-Only Functions in Temporal

Hello,
Can someone explain to me the exact definition of a read-only function and what set of functions belong to this group. I came across them while developing an update validator function that performs activity calls so I got

While in read-only function, action attempted:schedule activity

I assumed that they cannot execute activities. What other functions fall under this category? If I get it right why does an update validator belong to this group of methods? What if the validation needs to call a certain service what is the recommended practice here?