This documentation is archived and is not being maintained.

WarehouseSyncJobExtension<TWarehouseAdapter> Class

Warehouse Job for a warehouse extension (adapter).

This manages initializing the warehouse extension and calling the warehouse extension methods (that is MakeSchemaChanges and MakeDataChanges). It will synchronize these calls with all other registered warehouse extensions.

There are potentially three threads running in this code. Each thread can only execute a limited number of methods.

Thread 1: Main thread - from Job Agent thread pool.

Executes RunInternal. Controls when other threads are active.

Thread 2: Schema Lock Time thread - started in MakeSchemaChanges and only calls CheckSchemaLockQueue. Requires valid adapter instance.

Thread 3: Request Context Cancel thread - from Request Context cancellation "notification" Only calls Cancel - only possibly active between calls to EnterCancelableRegion and ExitCancelableRegion. During Cancel TeamFoundationRequestContext locks Enter/ExitCancelableRegion calls (internal list tracking cancelable objects is locked).

Locking is here to handle the case when the Timer thread is trying to execute methods on the adapter after it has been disposed by the main thread.


Namespace:  Microsoft.TeamFoundation.Warehouse
Assembly:  Microsoft.TeamFoundation.Warehouse (in Microsoft.TeamFoundation.Warehouse.dll)

public abstract class WarehouseSyncJobExtension<TWarehouseAdapter> : WarehouseJobExtension, 
where TWarehouseAdapter : new(), WarehouseAdapter

Type Parameters


The WarehouseSyncJobExtension<TWarehouseAdapter> type exposes the following members.

Public methodCancel
Public methodEqualsDetermines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodRun (Inherited from WarehouseJobExtension.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.